You may have noticed on the internet, as well as any digital medium, some material acts in a similar way,or looks complementary as another non-related application. These is because these two works share the same framework, yet are not affiliated in any way.
What is a Framework?
Think of a framework as the collective pieces to build a house(the foundation, wall studs and joists, and structural members), all of these elements will be almost identical to houses in that neighborhood. The only difference is how the outer region of the pieces are customized, this makes each of the houses unique. Just because the core-structure of each part of the house shares a similar composition, doesn't make the homes themselves identical to one another. This is a very broad way of explaining it, and it has many other scenarios that need to be considered, so please continue reading.
The Different Frameworks
The different kinds of frameworks are so vast, that it would take light years to explain the different categories, sometimes sub-categories, and every framework within each category. There are various types of licenses for frameworks depending on it's intention. Some may be Open-Sourced(meaning users can freely download and use, or submit changes for the software), others may be proprietary(or closed source); this splits into two categories commercial(the intellectual property of the framework is only allowed to be distributed by the publisher, and the must pay a fee to obtain and use the item of discussion), or in-house frameworks. Some individuals or corporations may not find commercial or open-source products acceptable for their projects. They're option is to build an in-house-framework, this is where the subject develops a framework and uses it for their personal usage, and do not grant others permission to use the technology. The Internet expanded framework usage to numerous options available to suit each website's needs.
, Zurb Foundation
Some CSS Frameworks are pre-processors. You tell the pre-processor what attributes (colors, fonts, etc.), give a name for each set of attributes. Instead of changing each time that color occurs, you just change your definition of the variable. Pre-processors usually allows for CSS Code to be in an (subjectively) easier to view environment.
The introduction to responsive web design, brought a new era of web experience. Allowing websites to collapse or expand itself based on the amount of space available on the screen. Many CSS Frameworks now utilize this method making Responsive Web Design vital to a website's performance. This is essential as over 50% of Internet traffic roots from mobile devices.
Content Management Frameworks/Systems(CMFs or CMSs)
Content Management Systems, allow website administrators to make changes to their websites while not having to edit the source code of the site, and will execute the requested change when ordered. The articles are stored in databases, for fast and organized retrieval of the document needed. This allows for faster publication of articles and changes to be made in a flexible manner.
utilizes their proprietary Content Management Framework, Symbiotic Publisher, in all of their sites including Beaufort County Now
(as well as all the other Now sites), and their clients' projects. Some well-known Content Management Systems,unrelated to SNI, include WordPress
, and Concrete5
Application frameworks form the building blocks of an app, there are certain elements and actions (routines) that are essential to have a functional product. Instead of wasting time re-writing the same hundreds/thousands of lines of code every project, why not use the same base code throughout all projects that it would be relevant to? The .NET Framework
for C# and Ruby on Rails
are some popular application frameworks.
Disadvantages of using frameworks
As an avid user of frameworks, I find the criticisms of frameworks to be framed and not observing the full-situation. The most common criticism is "You cannot learn the basic tasks that composes a framework." I believe the novice developer should learn the advanced elements of their language(s) of speciality, then they can move on to framework usage. This allows users to know how to modify their framework to suit their needs, and saves them time when they move on to more sophisticated projects. Another complaint is "It restricts what you can do with your work." That's why you follow the terms of the previous counter-statements, then the user can make changes to fit the purpose of the project.