Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,158,260 members, 7,836,189 topics. Date: Tuesday, 21 May 2024 at 10:28 PM

Development Framework: Definition And Utility - Programming - Nairaland

Nairaland Forum / Science/Technology / Programming / Development Framework: Definition And Utility (279 Views)

Cost Efficiency_ The Financial Benefits Of Adopting A Saas Development Framework / The Concept Of Containerization For Cloud-native Apps: Definition And Benefits / Ruboto - The Andriod App Development Framework For Rubyists (2) (3) (4)

(1) (Reply)

Development Framework: Definition And Utility by ellieperkins92: 6:16am On Apr 15, 2021
If you are a developer, the word framework necessarily speaks to you. However, its definition is not always clear , even for those who use it on a daily basis ... We tend to confuse libraries and frameworks, and we do not always know if and when we should use a framework in ACROTRAY.
In this article, we will clarify these points, and the framework will have no secrets for you!

What exactly is a framework?

Definition

Before going into details, let's already define what a framework is. A framework, which we could translate into French as software infrastructure , is a set of structural components , rather generic, imposing a working framework on the one who uses it.
More clearly, a development framework offers a developer bricks and patterns to simplify his work and require him to code in a specific way.

The purpose of a framework

As we have just seen, a framework is there to simplify and frame the development. More concretely, a software infrastructure gives the developer access to a whole bunch of already defined features, which he will not need to code: templating, model management , etc.

Also, when we talk about a working framework, that is to say that the framework imposes patterns on the developer, such as an architecture in its files , an organization between views and controllers , etc.

Framework and library, same thing?

Confusion between a framework and a library (also called a library, in French) is common, even among developers.

In reality, this abuse of language is not disturbing, because they are often used in the same cases, there are however some differences.

Thus, a framework has a set of generic bricks , extending the number of use cases of the tool. The other big difference is that the framework imposes development patterns on the developer. Typically, this means that a developer will be less free in the organization of his project and his code than by using a library .

To take a concrete example, let's talk about JavaScript frameworks and libraries . We will choose Angular and React .

If you've used both, you know they are quite different. React is quite permissive, you pretty much do whatever you want in your project. Angular, it imposes a rather strict division. React is therefore a library, and Angular a framework .

History of frameworks

Frameworks appeared relatively soon after the Internet boom in the early 2000s. In reality, they followed the development of programming languages ​​and the evolution of technologies.

For example, frameworks such as Hibernate and Spring , for Java , appeared in 2001 and 2003 respectively . Symfony, a PHP framework , appeared in 2005 .

JavaScript frameworks have appeared quite recently, along with the increase in the use of the language. For example, AngularJS was born in 2010 , and its most used evolution, Angular, in 2016 .

They continue to multiply and to take more and more scale today, at the same time as the needs increase.

The different types of frameworks

Now that we have defined what exactly a framework is, let's talk a little more about the different types of frameworks that exist.

According to Firebolt 5e , there are four different types of frameworks:

* System infrastructure framework , to develop OS and graphical interfaces;

* Middleware integration framework , merging different technologies into a single form;

* Corporate frameworks, to develop applications adapted to a defined sector of a particular company - we will talk about it again;

* Content management frameworks , to lay the foundations of a content management system.

These definitions, although more or less official, do not necessarily represent the reality of what a developer experiences on a daily basis.

In the rest of this article, we will divide the framework into two families: “classic” frameworks , which any developer can use, and frameworks developed by companies , for internal use.

Classic frameworks - example with web development

Let's start with the frameworks that I would call classic. That is to say, those ready to use , which allow a developer to create a product from scratch by simplifying its development.

For that, let's take the example of web development. Imagine that a developer, or a team, wants to create a complete web application, front and back. Rather than doing everything from scratch, he decides, to simplify his development, to choose frameworks.

Framework back

Mastering JavaScript, the developer logically chooses to turn to the back-end development, to Node.js . To facilitate the creation of his back, he decides to choose a framework, one of the most known and maintained being Express.js , this is the one he chooses.

Front Frameworks

Once the techno back has been chosen, he decides for the front also to use frameworks, to facilitate and accelerate his development. And for front-end web development.

After a comparison of these, he decides to go to Vue.js , a component-oriented development framework. However, since design is not his specialty, he wants to use another framework as a complement, and he chooses Tailwind CSS , a CSS software infrastructure allowing the use of already coded and customizable graphic components.

So that makes two frameworks for the front, which will greatly simplify its development.

We see it in this example, just for the development of a web application, there are three frameworks .

Home-made business frameworks

Now let's talk about enterprise frameworks. This is understood to mean all the libraries developed in certain companies, allowing them to respond more quickly, efficiently and precisely to certain specific developments.

Often based on existing frameworks, these tools are in fact building blocks added to others that already exist. Many companies with a strong tech culture develop their own frameworks, used internally but also sometimes made open source on the net.

Defects of frameworks

Now that we know exactly what a framework is, let's talk a bit about the flaws that using such a tool represents.

Because if it can simplify development, the use of a framework is not free from flaws .

We can already talk about the learning that this requires. Indeed, a framework must be mastered to be used correctly. Typically, you have to learn to work with the imposed patterns , and know how to use the bricks made available . Depending on the framework, this may require some adaptation time.

Also, we must try to have a long-term vision . New ones appear regularly, and it's not always easy to decide which one to use. The problem that can arise here is the lifespan of the frameworks . If some do appear, others lose use over time, and may no longer be maintained, which can cause technical debt. For example, bricks that you use which are no longer maintained, and which may conflict with new security protocols, etc.

When to use a framework?

If a framework simplifies development, should we use it on all our projects? Well sometimes it's better not.

Typically, if you need to code a simple showcase site, which needs little JavaScript or CSS, you might be better off doing it all without any tools - or almost nothing . Using a framework, or even a library, can in this case not only slow down development (it would be like building a mill to grind a few browns of wheat [pii_email_844c7c48c40fcebbdbbb]), but also literally weigh down the project code, and possibly degrade the performance of your site.

On the other hand, for large projects, and team projects, the use of frameworks is much more recommended. Not only to facilitate development, but also for a question of maintainability and cleanliness of the code. If a whole team has to follow the same patterns, the code will be clearer, and easier to evolve.

(1) (Reply)

Software Development Jobs For Interns / I Need Help In Making The Right Life Choice / Vitrified Freelancer Account For Web Developer

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 21
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.