In web development, when we think of the word “full-stack,” what does it mean?
In a nutshell, think of a website as being made up of different layers: a backend layer and a frontend layer. These layers, when grouped together, make up a technology stack.
We will learn:
- How to become a full stack developer
- What to learn next
Full stack encompasses all of the layers of a web application, from the tech it runs on, to the database, to the user interface and business logic for the front end.
They are just as competent in creating databases and APIs as they are in creating what the user sees.
- Amazon (AWS)
- TeleHealth industries
- JPMorgan Chase Bank
- Most start-up companies
- Team Efficiency. There is no need to rethink the logic in another language that might expand the amount of time needed to complete a task. Similar concepts make writing the code a bit simpler. Teams also work better together if they all understand the codebase.
node_modulesin both the front- and backend abstracts code away from your project to make the codebase smaller.
- Open-Source. If you were to take a look at the NPM homepage, you’ll see that we have a wide variety of open-source projects and modules available for us to use for projects. This lowers the cost-to-market for your application.
- Heavy processing is not efficient. If your project involves heavy mathematical computation or complex algorithms, Node.js is not your best bet. You’re better off using a backend service that is more aligned with working with that type of dataset.
- Young. Node.js is a relatively young piece of technology compared to PostgreSQL or MySQL. Being young sometimes means a lack of experience in how problems are solved.
- How HTTP Requests work
- Using a Node Package Manager (NPM)
- Testing Libraries, such as MochaJS, Jest, and Jasmine
- Authentication vs Authorization and how to implement it
- DRY principle for OOP
- Software development methodologies: Agile, Waterfall, Kanban
- How to pair program
- Debugging and clearing up bottlenecks
- Basic security prevention measures
- Using environmental variables
- Version Control (Git)
- Hypertext Markup Language (HTML)
- Cascading Style Sheets (CSS)
- Accessibility Standards defined by W3C
- Document Object Model (DOM)
- Differences between programming paradigms
- CSS-in-JS frameworks and libraries, like Bootstrap, Tailwind, styled components, Material-UI
- CSS Preprocessors including LESS and SASS
- Node.js: what it is, how it works, why we need it
- Node.js frameworks: Express.js, Koa, Hapi, etc.
- Cross-Origin Resource Sharing (CORS)
- Application Programming Interfaces (APIs) and how to write endpoints that interact with a database
- Cookies vs Tokens and how to implement both
This is not an exhaustive list, and you certainly don’t need to know everything on this list to start becoming a full-stack developer. Start small!
The MEAN Stack makes use of
- and Node.js.
MEAN is somewhat newer, and many users flout its flexibility, CLI, and documentation. It is used by companies like Accenture, UNIQLO, and Fiverr.
There is a large debate about what the difference between the library and the framework is, but generally, a library has more freedom.
You can pick and choose what you would like to use out of React’s library to implement and reuse, whereas with a framework you don’t have a choice in the matter.
It’s a model-view-view-model (MVVM) framework that separates the UI from the business logic that makes the application functional.
The PERN Stack uses the same structure as the MERN Stack, but it changes out the database. Instead of a NoSQL-based database, we are using a SQL-based PostgreSQL database.
You would use a SQL-based database when you are looking to be more ACID compliant when conducting transactions. MySQL would work just as well here too.
Congrats! You should now have a good sense of what it takes to be a full-stack web developer. As you build your web pages, consider implementing a full-stack approach. The next things to learn depend on your current skill level.
- The journey to becoming a full-stack JS developer starts here