Developers can choose which tools and technologies to use for each part of the stack

News Nugget
Why this Matters

Developers have tremendous freedom to choose which tools to use for which project.

Quick Takes
  • No programming language is best
  • The stack is what programs/languages/tools the developer uses for the front-end, back-end, and database
  • Frameworks contain pre-written code to speed up the development process

In part 1 we talked about websites vs. web-applications. Websites show the same information to everyone, whereas web-applications can be unique to each user. Each application contains a front-end (the code that changes what you see on your screen), the back-end (the code that does the heavy lifting behind the scenes), and the database (the place your data is stored).

When building an application developers can choose which tools and technologies to use for each part of the stack (remember the stack is the 3 pieces that make up the application: front-end, back-end, & the database).

Which Programming language is best?

The beauty of web development is that there are many different options for the programming languages you can use. Some are better for some tasks, others are better for different tasks. You will often see or hear developers defending their choice of language. However there’s no clear answer except for a case by case basis. The question “which programming language is better?” is like asking “which car is better?” with zero context. Unless you know the purpose of the car (road trip? drag race?), the details (how many passengers are needed?), and the rest of relevant data (who’s paying for it? how long do I need it for?) — then the question cannot be answered accurately.

One other term you will often hear is ‘framework’

Frameworks are what makes modern web-development so fun and fast. They also significantly lower the learning curve for beginners who are trying to build something. More or less a framework is a bunch of pre written code that gives you a foundation. It takes care of a lot of the nitty gritty details that go into building a web-application.

Imagine if you had to build a car. If you don’t use a framework you have to build everything from scratch. The frame, tires, engine, mirrors, all of it. Now this will give you a much better understanding of how everything works behind the scenes and will let you fix any issues that come up in the future pretty quickly. However it will take a lot of time as it’s a steep learning curve.

Now if you use a framework, imagine if you had to build a car — but you can start with a pre-built frame and tires. This significantly lowers the learning curve and will let you get a working car up and running much faster. The downside here is that since you didn’t build everything from scratch — you may not have a deep understanding of the systems that keep the car running smoothly. If there is a problem down the line, there’s a higher chance you will need to reach out to someone else to fix the issue. It’s generally accepted that all web-applications should use a framework for the speed of development, but it’s on the developer to take time and really research what’s going on under the hood to get a better understanding of the foundation. As long as the developer is serious about learning the underlying concepts, you will get the best of both worlds.

To wrap it up, front-end code is what you can actually see on your screen. It is divided into HTML (the noun), CSS (the adjective), and Javascript (the verb). Back-end code is everything under the hood that powers the web-application. The back-end talks to the database, grabs the relevant data, and then sends/generates the proper front-end code which is what you see in your browser!

Thanks from Justin!

Support Justin's work by donating.
95% of proceeds go directly to the author, the remaining 5% goes to maintaining and running this publication.