If you’re a budding engineer in the trade of IT or someone else with a fresh interest in website development and design, then this post is for you.
For over a decade, web development has been the most favourite subject for geeks all over the world and it’s not new. But the everyday growth and emerging techniques has made it even a more wondrous subject to learn and experiment on. In this article, I’ll write everything you need to know and everything you will require to pursue your journey in web development conveniently, more productively and with more fun!
Who can develop websites and web applications?
If you understand the basic logics of programming (loops, classes, objects, functions etc.), you can easily construct a web application as huge as Google Chrome. Nothing Fancy.
If you like spending your time with a code editor rather than doing other mediocre chores, then yes, you can be the next Zuckerburg.
Coding during web development is relatively easy than that in software designing but it still requires logic and a focused mind-set.
Who cannot develop websites and web applications?
If the only motivation behind all this work is academics and a decent résumé then you might face ‘technical’ problems as developing on web domains requires a lot of smart-work and dedication. If you don’t plan through, you might end up in nowhere with your interest and efforts completely ruined.
The trade of IT and Computer Science (CSE) is basically categorized into three sub-domains; Software engineering, Networking and website development. However former two are also very interesting and fruitful as web development, students are consistently made to believe that those are more important and significant than WebDev.
I can’t stress this point enough, Web Development and Designing is third wheel in computer technologies and it can’t be under-estimated.
I’ve personally seen people wandering in software engineering for jobs and careers regardless of their non-interests in field and after failing that, commencing website development.
Web Development is the future. Have a look around and you’ll agree.
Myths of Web Development
- WebDev is limited to creating websites.
- WebDev cannot get you ‘high-paid’ jobs.
- WebDev is easy.
No Dear! Web Development is not limited to websites, you can create browsers, plugins, games, e-commerce and SOFTWARES too. The development scope is too vast, describing it would take more than one article. WebDev can get you jobs in high-reputed companies like Facebook, Microsoft, Google etc. or you could always work as a high-profiled freelancer. Although beginning career might disappoint you, but as you keep growing, so does your pay cheque.
Web Development, although fun, requires hard work especially during PHP/ASP.net phase. You have to work in a specific order if you want to become a good web developer.
Step 1 – HTML5
Though easy it seems, HTML5 is certainly not the old HTML as we know it. HTML5 is the extended functional form of HTML4 with many more features than the former version. With HTML5, you can not only prepare basic webpage structure easily, but can store variables on page itself, create games on it, don’t need to rely on flash anymore to run your videos and animation and with a nice 4 months in-depth study, can even create full functioning blog, without even touching server side languages like PHP.
Time Required: 4 months*
Avoid Head-start and HTML5 for dummies book as they are not much practical on subject.
Step 2 – CSS
Who adds colours to rainbows? CSS surely does.
With the application of CSS, you can define your web in a colourful and smooth way. Like HTML, CSS has grew into CSS3, with which, you can also add transitions to pages, scrolls and even mouse hovers. You can even make your site elegant or flashy by using just few lines of CSS3.
Time Required: 1 Month practice with HTML5*
Step 3 – HTML5 & CSS
Now as you learned HTML5 and CSS3 so far, designing pages won’t look much hard to you. You can either design your own pages or templates or can work into responsive layouts that can adapt any device’s screen.
You can practice as much as you want, but 60-hours* are just enough to practice using HTML5 and CSS3 together. If you’re a brilliant student, you can also look up bootstrap3 for responsive layout, before moving to step 4.
Step 5 – HTML5 & PHP
So far, it’s all about developing a website from front-end. How it looks and how should it react, but real work takes place behind the curtains. PHP is a server-side language, and it handles all the real work and completely relies on your internet connection (unless you’re working on local host which I don’t recommend for projects).
- First Half of these learning procedure is working on front-end
- Second Half requires more back-coding
Time required: 4 Months (500 hours at least)*
Step 6 – All above + MySQL
Easiest to work, hardest to maintain. Designing on database can be a real pain if you’re not organized and well-planned.
The reason I recommend PHP over any other server-scripting languages is that PHP is great for beginners and if your basic old-school C++ concepts are clear, PHP becomes much easier than you anticipate.
MySQL, with the combination of PHP on Apache server (better than IIS) provides a perfect frame to build webpages and if you want to practice on localhost, try WAMP server.
Practice on local host, implement on remote host.
Books Recommended : Head-first MySQL by O’reilly
Step 7- Python, Ruby on rails, Perl etc.
If you followed the steps above in sequence as mentioned, you probably know already the working of a social networking website and how notifications and personal messages (chats) works.
You can create an e-commerce easily, without even moving further to next step. But what if you want to create websites like FlipKart, Amazon, Microsoft, Google or Facebook?
Those are more complicated than just HTML5, PHP and MySQL.
There are other server and client side coding languages to help you do wonders you always wished. Python is one of the most practical, efficient and profitable coding language that is being used today and the best thing about learning python is it’s very easy.
Although, Python is independent of PHP but I still recommend learning PHP first as it will prepare your mind-set and you will learn python more quickly.
I worked on PHP for six years, and learned python in 12 hours.
There are other coding languages and framework on which you can work on like Ruby on rails. But Python should be your first preference.
Step 8 – Mix-it-up
The final step. Mix-it-up.
It would take some time before you begin to create your own big project that someday might replace major web-technology brands, but every hike starts with a small step.
Thanks for reading, if you have any more pointers, suggestions, arguments or appreciations, post a comment!
*All these are my time estimates and may vary individual to individual.
P.S – WebDev and WebDav. WebDav means Web Distributed authoring and versioning- a completely different thing.
About the Author:
This blog is contributed by Aayush Garg. He is a web developer, writer and a filmmaker based in New Delhi holding a degree in B.Tech IT from Kurukshetra University. Besides liking watching live theaters and foreign TV shows/movies,he also loves technical stuff and has published papers on logical reasoning and brain rationality. He can be reached at Twitter @reesgargi.
If you also wish to showcase your blog here,please see GBlog for guest blog writing on GeeksforGeeks.
- How can I start to learn Web Development ?
- HTML | <head> Tag
- HTML | DOM head Property
- Top 10 Programming Languages of the World – 2019 to begin with…
- How to begin Contributing to DuckDuckGo’s Open Source Community
- My minified journey with Web Development!
- Introduction to Postman for API Development
- 10 Myths About Software Development
- Android App Development Fundamentals for Beginners
- Introduction to Web Development and the Holy Trinity of it
- ReactJS | Setting up Development Environment
- App Development for Android in 2017: Challenges and Solutions
- Why Kotlin will replace Java for Android App Development
- CSS | grid-row-start Property
- HTML | DOM Ol start Property