)VE BEEN DOING WEB DEVELOPMENT FOR A LONG TIME SINCE )
NEVER CEASE TO BE AMAZED BY THE POWER AND SIMPLICITY OF MODERN WEB APPLICATION FRAMEWORKS 4HEY MAKE IT EASY AND STRAIGHTFORWARD TO create and deploy web applications. But, that assumes you know how TO PROGRAM AS WELL AS THE UNDERLYING TECHNOLOGIES OF THE WEB (4-, CSS and JavaScript.
)NDEED IF YOU WANT TO CREATE WEB APPLICATIONS THERES BASICALLY NO GETTING AROUND LEARNING THE BASICS OF THAT TRIO !ND AGAIN YOU CAN SEE THE ADVANTAGE OF LEARNING TO PROGRAM IN *AVA3CRIPT IN THAT IT REDUCES THE
AT THE FORGE
NUMBER OF THINGS YOU NEED TO LEARN BY ONE 9OU DONT NEED TO BECOME A HUGE EXPERT IN ALL THREE OF THOSE THINGS BUT GOING THROUGH A FEW BASIC TUTORIALS WILL GO A LONG WAY TOWARD MAKING EVERYTHING CLEARER FOR YOU
2ATHER THAN TRY TO MASTER ANY OR ALL OF THEM ) STRONGLY SUGGEST
LEARNING AS LITTLE AS POSSIBLE BEFORE JUST JUMPING IN #HOOSE A FRAMEWORK THAT USES YOUR FAVORITE PROGRAMMING LANGUAGE AND TRY TO CHOOSE A
MINIMALIST WEB FRAMEWORK ONE THAT DOESNT TRY TO DO TOO MUCH BUT that is well documented and thus likely to help you to learn, rather than JUST FRUSTRATE YOU &OR EXAMPLE IF YOU DECIDE TO PROGRAM IN 0YTHON )D suggest using Flask.
0ART OF THE MAGIC OF PROGRAMMING IN GENERAL AND OF WEB DEVELOPMENT IN PARTICULAR IS THE INSTANT FEEDBACK AND GRATIFICATION THAT YOU CAN GET FROM YOUR WORK ) BELIEVE ITS MORE IMPORTANT TO START BUILDING THINGS MAKE MISTAKES LEARN THE TECHNOLOGIES YOU NEED TO MOVE FORWARD AND THEN MAKE ALL NEW MISTAKES THE FOLLOWING DAY
So, once you have a basic grounding in Python, you can read a Flask TUTORIAL 4HEN START TO BUILD A SMALL &LASK APPLICATION !DD A BIT OF PIZAZZ WITH #33 AND *AVA3CRIPT ,EARN HOW THESE DIFFERENT PARTS WORK TOGETHER
4HEN ONCE YOUVE STARTED TO GET YOUR BEARINGS YOULL HAVE TO MAKE A DIFFICULT CHOICE FRONT END OR BACK END 4HAT IS WOULD YOU PREFER TO WORK ON THE BACK END CONFIGURING SERVERS MAKING DATABASE QUERIES MORE ON THAT IN A BIT HANDLING BACK END TASKS AND PRODUCING SOME COMBINATION OF (4-, AND *3/. /R WOULD YOU RATHER WORK ON THE FRONT END MOSTLY CREATING INTERFACES VIA *AVA3CRIPT AND #33 THAT USERS SEE
)N THEORY YOU DONT HAVE TO CHOOSE #ERTAINLY MANY hFULL STACK
DEVELOPERSv EXIST WHO KNOW HOW TO WORK ON BOTH FRONT AND BACK END PROJECTS BUT ITS RARE TO FIND SOMEONE WHO IS EQUALLY ADEPT AT BOTH -ORE TYPICALLY PEOPLE SPEND OR OF THEIR TIME DOING ONE AND ARE acceptably good at the other as well.
7HICH SHOULD YOU CHOOSE )TS IMPOSSIBLE TO SAY EACH HAS ADVANTAGES and disadvantages.
Database
)F YOURE INTERESTED IN DOING WEB DEVELOPMENT YOULL NEED TO THINK ABOUT A DATABASE 9OULL NEED SOMETHING IN WHICH YOU CAN STORE INFORMATION AND then retrieve it down the line.
AT THE FORGE
)M A BIG FAN OF RELATIONAL DATABASES 4HE GOOD NEWS IS THAT THEY HAVE BEEN AROUND FOR A WHILE AND THEY ARE STABLE EFFICIENT AND FLEXIBLE 4HE bad news is that everything you do with a relational database, you do via A LANGUAGE CALLED 31,
4HIS MEANS IF YOU WANT TO DO WEB DEVELOPMENT AND YOURE GOING TO USE A RELATIONAL DATABASE YOULL LIKELY NEED TO LEARN YET ANOTHER LANGUAGE NAMELY 31,
) THINK 31, HAS A LOT OF THINGS GOING FOR IT "UT THE LEARNING CURVE CAN BE STEEP AND IF YOURE TRYING TO GET GOING QUICKLY IT MIGHT BE JUST a bit too overwhelming.
For this reason, I would suggest that you use an ORM—an
hOBJECT RELATIONAL MAPPERv WHICH LETS YOU WORK FROM WITHIN YOUR PROGRAMMING LANGUAGE AND TRANSLATES FUNCTION CALLS INTO 31, FOR YOU
-ODERN WEB FRAMEWORKS EITHER COME WITH /2-S OR EASILY CAN BE CONFIGURED TO WORK WITH THEM 4HIS SERIOUSLY CAN REDUCE THE LEARNING CURVE MAKING IT FAR EASIER TO USE A RELATIONAL DATABASE
!NOTHER OPTION IS TO USE A SO CALLED .O31, DATABASE SUCH AS
-ONGO$" 3UCH DATABASES HAVE THEIR OWN QUERY LANGUAGES BUT ACCESS USUALLY IS MADE VIA A LIBRARY FROM THE PROGRAMMING LANGUAGE YOURE USING &OR MANY SIMPLE TASKS A .O31, DATABASE INVOLVES FAR LESS WORK AND OVERHEAD MAKING IT A GOOD POSSIBLE SOLUTION FOR THOSE WHO ARE STILL AT THE BEGINNING OF THEIR CAREERS
Conclusion
$URING THE PAST FEW YEARS )VE MET AND TAUGHT MANY PEOPLE WHO WERE CONVINCED THAT THEY COULDNT PROGRAM BUT WHO WERE ABLE TO DO SO )T CAN TAKE SOME TIME AND EFFORT BUT IF YOU PUT YOUR MIND TO IT YOU DEFINITELY CAN WRITE WEB APPLICATIONS )F YOU ARENT ALREADY A SOFTWARE DEVELOPER ) HOPE THIS GUIDE WILL HELP YOU TAKE AT LEAST THE FIRST STEPS TOWARD STARTING TO WRITE SOME SOFTWARE !ND
remember, my suggestions are just that, suggestions—there are many DIFFERENT PATHS TO SUCCESSQ
Send comments or feedback via http://www.linuxjournal.com/contact or to [email protected].
RETURN TO CONTENTS
DAVE TAYLOR
Dave Taylor has been hacking shell scripts on UNIX and Linux systems for a really long time. He’s the author of Learning Unix for Mac OS X and Wicked Cool Shell Scripts. You can find him on Twitter as @DaveTaylor, or reach him through his tech Q&A site: http://
www.AskDaveTaylor.com.