Full Stack Development Overview
"Full stack development helps you gain proficiency in a variety of technologies, experience to provide customers value, enrich the user experience and enhance business strategies"
Internet presence is an integral part of any business. Web sites evolved from static pages and images to dynamic content catering to audio and video media streaming on demand. Smartphones, Tablets have redefined Responsive Web Design concepts
No of frameworks being launched on Github every day is mind boggling. Full Stack development has attracted the developer community young and old alike. There are so many platforms to choose from, Python, Java, .NET, JavaScript, RubyOnRails, LAMP, and the list goes on…..
I have attempting to put together a path for new and experienced developers on how to approach learning Full Stack development. This may not be the only way to learn, but something which has come from personal experience.
What is Full Stack Development?
Full stack encompasses, front-end UI technologies, back end technologies and frameworks, orchestration layer/messaging, security, search, databases, ORM, caching, version control, CI/CD, Cloud providers, containerization, automated testing, delivery methodology and ability to view content on multiple form factors/devices
What are the prerequisites for learning Full Stack Development?
Full Stack is a vast area. One must have a broad knowledge of key technologies making up the Full Stack.
- A good starting point will be getting hands on experience on using HTML, CSS, and JavaScript.
- Knowledge of data structures, algorithms is a must. Ability to structure and modularize code
- Understand the concept of loose coupling, REST api’s, AJAX, cloud fundamentals and JSON
- Version control using GIT
Knowing above technologies/frameworks accelerates your journey to learning full stack development
Which Full Stack platform should I learn?
Before you begin full stack, learn about CSS Media queries, HTML 5, and responsive web design. Get a good handle on jQuery, it helps to do DOM manipulations easily and has a lot of libraries for CSS tricks
Begin with a platform at a time, don't jump from JavaScript to Python immediately
Python -Django, JavaScript – MEAN, MERN, Java- Spring Boot/MVC/REST, .NET-asp.NET MVC/Web
E.g. If you choose JavaScript platform and pick MEAN stack, learn MongoDB, Express, Angular and Node Js, so that you have good knowledge of all components and how they work
You can easily move to MERN, where you need to learn, React only. All other components remain the same
Get comfortable with editors like Microsoft Visual Code or Atom and Git integration
Understand how the development of React and Angular varies from tradition Java, C, programming in terms of builds and importance npm modules
Once you have mastered a platform, you will find moving to another platform e.g. JavaScript to Python is not very tough. Fundamental concepts remain the same.
Useful links
https://www.fullstackpython.com/
https://snipcart.com/blog/learn-vanilla-javascript-before-using-js-frameworks
https://www.javascripting.com/?sort=rating
https://blog.newrelic.com/engineering/best-javascript-libraries-frameworks/
Very nice article, Ravi! Easy flow with rich content!