DEV Community

Cover image for Frameworks are Powerful and Awesome and Frightening

Frameworks are Powerful and Awesome and Frightening

Ghaleb on October 29, 2020

I am new to all this. I haven't worked in the industry yet, and I am only now building my first project for my final year at college. I played with...
Collapse
 
masterroshan profile image
TJ Johnson

Quick story from when I was a beginner:

I was discussing my project with a security team member, when he said "Make sure your code isn't vulnerable to SQL injection." I kind of freaked out, but I later found out by reading the docs that all of my queries we're automatically being escaped, and that's because I was using the framework's Query API.

If you can use a framework there's more power to you, but there will be times when you have to know what's happening underneath

Collapse
 
medsaad profile image
Ahmed Said-ahmed

It's easy just now .. in a college project. But in real life projects, you may use an elegant form build only to find out that it does not match the design made by you ux designer, so you will then have to choose between finding a way to customize the plugin or rebuild it yourself. All this is just one example, but you can use it with other aspects of application development.

Collapse
 
ghamadi profile image
Ghaleb • Edited

One other comment suggested that knowing the fundamentals is important because there might be edge cases. I think your comment is a perfect example of a similar idea.

I will reiterate, here, the same question I asked there:

For the market, do you believe one is better off creating barebone projects with no frameworks or libraries to demonstrate a solid grasp of the fundamentals?

Or is it better to know the basics, invest the time in more complex projects that utilize these tools, and let the interview questions challenge that grasp of the fundamentals?

Collapse
 
medsaad profile image
Ahmed Said-ahmed

You can use native language to develop some projects but let those be personal project. It's better not deliver a project with native language with no framework. First, you will take too much time to achieve tasks that your client expect it be quicker to finish and you will find your self behind schedule a lot.

Collapse
 
mepda profile image
Ben

I think knowing the logic behind why things work is pretty vital. Sure, somethings work awesome out of the box, but what if you need an edge case that's not covered there? For some projects, these pre-built SaaS tools are the right choice for the job, for others, you may need to make your own, and in many cases, you'll inherit whatever the company was using before you came onboard.

Collapse
 
ghamadi profile image
Ghaleb

The "edge case" point you make is definitely convincing.

Would you say that building small, barebone projects (no frameworks, no libraries) is required to demonstrate a good understanding of the fundamentals?

Or should one invest time in learning and utilizing the tools surrounding the basics, and let the interviews challenge his understanding of fundamentals?

Collapse
 
andrewbaisden profile image
Andrew Baisden

Frameworks are great and because they have huge communities behind them its much easier to find solutions to problems. So long as you understand the core concepts like vanilla javascript for example then you are more than equipped to tackle various projects.

Collapse
 
tominekan profile image
Tomi Adenekan

If you know the fundamental concepts that the framework is built on and you can implement it then there should be good. I believe that libraries are slightly better because they are less opinionated than frameworks. (This is my opinion).

Collapse
 
zimlearn profile image
Dr Abstract

Of course, some Frameworks are easier than others... I would not blame you for balking at Flutter for instance... here is ZIM on the Canvas at 26% Flutter and way, way more readable - youtube.com/watch?v=V66OpDIFCvE - I guess it depends on what you are making...

Collapse
 
hemiltherebel profile image
Hemil Ruparel

I think some things need frameworks. Like flutter. I would not imagine creating my own graphics API or using android's (yes it works, but after using flutter it feels unnecessarily complicated). And I really want my web server to be a framework. But here is the thing. I want my frameworks to be small and do only one thing. So they can get out of my way and let me do my job.

Collapse
 
trashhalo profile image
Stephen Solka

This blog post about frameworks vs libraries has stuck in my brain since I read it.

brandonsmith.ninja/blog/libraries-...