You are on page 1of 29

WELLNES

S ARCHI
TECTURE
-
INTERNA
TIONALM
EDITATI
ON
CENTREA
T
YERCAUD
A PROJECT
REPORT
 Submitted b
y
NIDHI.R.A7121
15251052
In partial
fulfilment
for the award
of the degree
Of
BACHELOR OF
ARCHITECTU
REIN
ARCHITECTU
RE
MCGANS OOTY
SCHOOL
OF ARCHITECTU
RE
ANNA
UNIVERSITY:
CHENNAI 600
025
APRIL 2020

Services
 Expertise
 Success Stories
 About Us
 Insights
 More
 Contact Us
 All Topics
 Digital Commerce
 Experience Design
 Product Development
 Digital Transformation
 Digital Experience Platforms
 Data Analytics & Insights
 More 
INSIGHTS>PRODUCT DEVELOPMENT

What is a Framework in
Programming? And Why
You Should Use One


 BY  RAJNISH KUMAR SHARMA
 
 |
 

  9 MIN READ
 

  UPDATED: JUNE 30, 2023



13


13


5


32

Table of Contents

A framework is a set of programming tools to build well-structured, reliable software and


systems. Let’s explore what a framework in programming is, understand why a
framework is necessary, and look at the various framework examples.
Coding can be challenging, even for those with an IT background. Development must
go through various tasks, debugging frustrations, and trial and error. Many successful
teams prefer using frameworks to reduce development time. These frameworks feature
libraries of APIs, software modeling, and bundled code to make programming easier.
Let’s explore what programming frameworks are, why they matter, and what features
should a programming framework ideally include:

What is a Framework in
Programming?
The dictionary definition of the framework as a “basic structure underlying a system” is
not far different from what a framework is in programming. Whether the system is a
house, a car, a theory, or a mobile app, the concept of the framework is the same: it
provides the support and essential ‘guide’ of the structure being built.
A framework in programming is a tool that provides ready-made components or
solutions that are customized to speed up development. A framework may include a
library but is defined by the principle of inversion of control (IoC). With traditional
programming, the custom code calls into the library to access reusable code. With IoC,
the framework calls on custom pieces of code when necessary.
A framework can include support programs, compilers, code libraries, toolsets, and
APIs to develop software and create systems. Open-source frameworks are constantly
being updated and improved.
Why are Frameworks Used in
Software Development?
The purpose of a framework is to assist in the development, providing standard, low-
level functionality so that developers can focus efforts on the elements that make the
project unique.
High-quality, pre-vetted functionality increases software reliability, speeds up
programming time, and simplifies testing. With an active base of users and ongoing
code improvements, frameworks help improve security and offer a base of support.
Ultimately, frameworks are used to save time and money.

What are the Features of a Good


Framework?
There are many kinds of frameworks, with some more popular than others. Developers
often choose frameworks they are most familiar with, but that framework may not be the
right for the job. Instead, consider the following features of good frameworks when
deciding on the proper framework for the project at hand:
 Functionality: Choose a framework that provides the functionality needed for
the project at hand, respecting that each framework has its limits and not
investing in a framework that does far more than your project will ever need.
 Consistency: A framework that can assist in consistency for large
or distributed teams
 Documentation: Choose a framework that has well-documented code and
provides implementation training
 Active Community: Frameworks are only as robust as the user base of
support. Choose a framework that is well-established with an active user
base.

Challenges of Using a Software


Framework
Software frameworks can become a costly crutch if developers are not strong in the
language the framework is based upon or if the developer over-relies on the framework
instead of custom code. This problem can lead to software bloat and performance
issues.
There are risks in choosing a framework that is too new or unsupported, which could
require costly re-tooling if the framework becomes obsolete. Similarly, if the framework
has poorly understood limitations, this could impact the project.

Types of Programming Frameworks


There are various programming frameworks, each built upon a programming
language and specializing in its function, whether working on a web app, database, or
mobile app. This section will include various programming frameworks, popular
frameworks for each type, and everyday examples.
1. Web Frameworks
Web application frameworks (WAF), or web frameworks (WF), support the development
of web applications with web services, web resources, and web APIs. There are
different web frameworks for both the front end (how the web app looks) and the back
end (how it works).

A. Front-End Frameworks
Front-end (client-side) frameworks provide basic templates and HTML, CSS, and
JavaScript components for building a website or web app’s front end.
i. Angular
What is Angular? Angular is an open-source web application framework based on
TypeScript and maintained by the Angular Team at Google. Angular features a large
ecosystem of tools and solutions from a broad user base. Angular is ideally suited for
highly customized and progressive web apps (PWAs).
AngularJS refers to all 1.X versions of the framework that previously were JavaScript-
based, with Angular being a complete rewrite using TypeScript for all versions 2 and up.
Over 1.4 million live websites are using Angular.
Angular Framework Examples: PayPal, Upwork, Google, Nike
ii. React JS
What is React JS? React JS (React) is an open-source framework for JavaScript for
building user interfaces (UI) and their components. While its narrow focus may be
limiting, React is easy to use, has a rich package ecosystem, and is ideally suited for
feature-rich apps. Facebook and the wider community maintain React, the most popular
front-end framework download in the past year.
React JS Framework Examples: Facebook, Instagram, Uber, Netflix, Airbnb
iii. Vue JS
What is Vue JS? Vue JS (Vue.js) is another JavaScript-based framework with greater
flexibility around using HTML and CSS and the model-view-view model (MVVM)
architecture. Vue is easy to learn and has a vast community of support.
Vue is currently the second most popular download behind React but ahead of Angular.
Vue JS Framework Examples: Trustpilot, Nintendo, Behance
B. Back-End Frameworks
Backend (server-side) frameworks provide generic functionalities that can be
assembled or built upon to assist development. The choice in the framework will be
dictated by the programming language chosen for growth and the target platform(s).
i. Ruby on Rails
Ruby on Rails is an open-source framework written with the Ruby language. Ruby runs
on Linux based on the model-view-controller (MVC) architecture. Ruby is secure and
scalable and benefits from large third-party libraries to speed up development.
Nearly 17% of the top 10k websites leverage Ruby on Rails.
Ruby on Rails Framework Examples: Airbnb, Kickstarter, BaseCamp, CafePress
ii. PHP Frameworks (Laravel, CodeIgniter, CakePHP)
What are PHP Frameworks? PHP runs on diverse platforms and is widely compatible,
making it popular as a language for back-end development. The most popular PHP
frameworks are Laravel, CodeIgniter, and CakePHP.
Laravel features are expressive and elegant syntax, helping make coding faster and
leveraging a powerful Blade template engine. CodeIgniter offers a light framework with
one of the smallest footprints, saving time with less coding needed. CakePHP is
considered the “workhouse” of the three; leveraging a scaffolding system and deferring
to convention over configuration saves development time.
PHP Framework Examples: MyRank (Laravel), Casio (CodeIgniter), Nissan
(CodeIgniter), 10FastFingers (CakePHP)
iii. Django
Django is an open-source framework for Python that encourages rapid, scalable
development and clean design. Django aims to provide everything you need, making it
easy to piece your needs. Django is popular for visual effects, games, and interactive
services.
Django Framework Examples: Disqus, Instagram, Spotify, YouTube
iv. ASP.NET and ASP.NET Core
What is ASP.NET? ASP.NET is a cross-platform open-source framework developed by
Microsoft, with ASP.NET Core a re-implementation as a modular web framework.
ASP.net supports web apps and services with .NET, C#, F#, and Visual Basic
programming languages.
ASP.Net Framework Examples: Microsoft, StackOverflow, GoDaddy
2. Mobile App Development Frameworks
A mobile development framework (mobile app development framework) supports the
development of mobile applications for a specific environment, classified as native
(platform-specific), hybrid (native back-end shell with web app front-end), or cross-
platform (shared codebase for all). There are many mobile app
development frameworks not covered here, including, among many, Swiftic, Native
Scripts, and Ionic.
A. React Native
What is React Native? React Native is an open-source JavaScript UI framework
created by Facebook to develop Android, iOS, macOS, tvOS, web, Windows, and UWP
applications. React Native uses the React library for UIs, targeting mobile platforms
instead of the browser.
React Native Framework Examples: Facebook, Skype, Facebook, Instagram, Tesla
B. Flutter
What is Flutter? Flutter is Google’s open-source mobile UI framework for creating
cross-platform applications and, most recently, with Flutter 2, web, and desktop (native)
apps. Flutter is based upon Dart and is considered a modern framework, being simple
to use and leveraging hot reload to see results in real-time.
Flutter Framework Examples: Amazon, Microsoft, Adobe, eBay, Google ads
C. Xamarin
What is Xamarin? Xamarin is an open-source framework using C# and .NET for
creating apps owned by Microsoft. Xamarin is a cross-platform framework that allows
you to reuse a shared codebase. With Xamarin, UI components convert into platform-
specific elements at runtime, allowing a more native experience for iOS, Android, and
Windows.
Xamarin Framework Examples: Alaska Airlines, Microsoft Azure, Outback, BBC
Goodfood
D. Ionic
What is Ionic? Ionic is an open-source, cross-platform mobile app
development framework. Developers can build mobile apps on Android, iOS, and web
platforms.
Ionic Framework Examples: JustWatch, MarketWatch, and Untapped.
E. Apache Cordova
What is Apache Cordova? Formerly known as PhoneGap, Apache Cordova is an
open-source framework for building mobile apps using JavaScript, HTML, and CSS. It
acts as a bridge between web technologies and native device features. Hence, using
this framework, you can build apps that seamlessly run across multiple platforms while
offering native device features like contacts, file systems, cameras, etc.
Apache Cordova Framework Examples: HealthTap and Trello.
3. Content Management Frameworks
A Content Management System (CMS) enables users to build, organize, deliver, and
modify content, including blog posts, eBooks, mobile apps, or other online solutions. A
content management framework (CMF), sometimes referred to as a CMS platform, is a
tool that supplies reusable components for managing web content and sharing aspects
of a web app framework and a CMS.
Decisions around CMS frameworks extend beyond simply pricing, language, or ease of
use to important considerations around SEO, personalization, and security.
A. WordPress
What is WordPress? WordPress is the leading free, open-source CMS platform, used
by over 42% of all websites.
WordPress is very user-friendly, making it ideal for the non-technical user developing a
small blog or for more prominent brands supporting everything from microsites to large
eCommerce stores. Many plug-ins, themes, and extensions create a backbone for a
personalized, flexible site that has the potential to be sure – as long as you choose
vetted, regularly updated plugins.
WordPress Framework Examples: Sony Music, Angry Birds, TechCrunch, The New
Yorker, BBC America.
B. Drupal
What is Drupal? Drupal is a free, open-sourced modular CMS written in PHP and
supported by a large community. Drupal does, however, require more technical
knowledge than some other frameworks.
Drupal is known for its flexible taxonomy, making it ideally suited for projects with a lot
of content and/or many community features and large webmaster teams.
Drupal Framework Examples: Arsenal FC, InStyle, Mattel, Tesla, Warner Bros.
Records
C. Joomla
What is Joomla? Joomla is a free open-sourced CMS that, like Drupal and WordPress,
is easy to customize with templates and extensions. Joomla is easier to use than Drupal
for the non-technical but more complex than WordPress. Joomla is the third most
popular CMS platform, SEO-optimized out of the box, and has an excellent security
track record.
Joomla Framework Examples: IKEA, LINUX, Holiday Inn, Harvard University
D. Kentico
What is Kentico? Kentico is a commercial framework/platform built in ASP.NET and
Microsoft SQL Server, offering faster implementation with more ready-made options.
Kentico leverages simple page-building and editing tools.
Kentico Framework Examples: Skype.com, NewsMax, Swagger.io, Gibson, First
American Bank
4. Data Science Frameworks
Data science is a broad field related to applying statistics, scientific methods,
algorithms, or systems to extract knowledge from data. Today, data science is a
booming area of interest, partly driven by artificial intelligence and machine
learning opportunities.
While the vast majority of data science involves Python, there is a growing use of data
science frameworks, including TensorFlow, PyTorch, Apache Spark, and NumPy. This
guide will explore them all:
A. TensorFlow
What is TensorFlow? TensorFlow is an open-source machine learning (ML) platform
developed by Google based on deep-learning neural networks. TensorFlow provides an
open-source library and tools to build and deploy ML-powered apps. On-device deep
learning takes the form of speech recognition, image recognition, gesture recognition,
object localization, translation, optical character recognition, voice synthesis, and text
classification.
Tensorflow Framework Examples: Google Translate, FaceNet, Mozilla’s Deep
Speech, Google RankBrain
B. PyTorch
What is PyTorch? PyTorch is an open-source machine learning framework for
developing deep learning models. The framework is primarily used in AI as it offers a
flexible approach to building neural networks.
PyTorch framework examples: Image classification, object detection, and natural
language processing.
C. Apache Spark
What is Apache Spark? Apache Spark is an open-source framework for big data
analytics and processing. It supports many programming languages, such as Java,
Scala, Python, and R, making it an accessible option for many developers and data
scientists.
Apache Spark Framework Examples: Large-scale data processing and analytics,
real-time stream processing, machine learning, predictive analytics, real-time stream
processing, and data streaming.
Common Misconceptions About
Programming Frameworks
There may be lingering misconceptions or confusion about programming frameworks,
including
Framework vs. Programming Language
Most of us confuse a framework and a programming language as both are used to
develop software. However, both are two different concepts.
The best way to distinguish between a framework and a programming language is by a
purpose: A language can help you build many things, but a programming framework is
purpose-built for one purpose only – whether a web app, mobile app, CMS, or data
science.
Also, a programming language is the foundation for each programming framework: the
instructions defining the framework on what to do. The framework is the platform to help
you develop software. Moreover, you do not have to use a framework to build software;
all software is developed with a programming language(s).
Framework vs. Library
It is common to need clarification on the term framework and library, as both are tools
used within programming. As described above in the section “What is a Framework?” a
library is just one tool available within a framework.
A framework is your structure or environment to build your software: it contains access
to various tools, including libraries, to assist in your build.
A library is a set of low-level components that can be invoked (called) for a specific
outcome. You can access a library directly, called from the code, or a framework can
supply access to libraries and call out to the code (inversion of control).
How Can Net Solutions Help You
Build a High-quality Software with
the Right Programming Framework?
Whether you’re a mobile app development company or a cross-platform app
development services provider – programming frameworks provide a starting point to
solve common problems, integrate programming best practices, and stay on top of the
latest technology options.
In short, the right frameworks can speed up your time to market and propel your growth
strategy. But how do you know which programming frameworks are right for you? Or
how to combine frameworks across all your needs?
At Net Solutions, we work closely with you to set priorities and ensure the frameworks,
wireframes, architecture, and prototypes produce the maximum impact for your brand or
business.

Frequently Asked Questions


 01
Is node JS a framework?
 02
What are the most popular frameworks in Python?
 03
Which framework is most used in Java?
 04
Is Springboot a framework?
Harness the potential of programming frameworks for your
business.
Learn how how Net Solutions can help you succeed.

About the Author

Designation: Technical Project Manager


Forte: Continuous Integration (CI) & Continuous Delivery (CD)
Likes: Movies & Cricket
Dislikes: Bland Food
Claim to fame: Closed a 7-figure deal by showcasing technical expertise,
which helped build trust with the client.
What is the Biggest Tech blunder committed: Forgot to set up CI tools
when shifting to WFH setup.
Wannabe: Hollywood star

Leave a Comment
Name
Email
Organization
Message

Got a Project in Mind? Get Started


Now.
Let's Talk

About Us
Net Solutions is a strategic design & build consultancy that unites creative
design thinking with agile software development under one expert roof.
Founded in 2000, we create award-winning transformative digital products &
platforms for startups and enterprises worldwide.

Contact Us

38 REVIEWS

 

Let's Connect
     
Stay current with our latest insights
 We respect your privacy.

LOS ANGELES
11601 Wilshire Blvd
5th Floor
Los Angeles, CA 90025
+1 (305) 767-3821

NEW YORK
101 Avenue of the Americas,
8th Floor, New York City,
New York, 10013
+1 (305) 767-3821

TORONTO
111 Queen Street
East South Building
Suite 450
Toronto, ON M5C 1S2
Canada
+1 (416) 720-1790

LONDON
Aldgate Tower
2 Leman Street
Fourth Floor
London, E1 8FA
+44 (20) 3807-3803

CHANDIGARH
Site no. 15,
Rajiv Gandhi Chandigarh
Technology Park
Chandigarh 160101
India
+91 172 4315000
© 2023 Net Solutions. All Rights Reserved.

Pin It on Pinterest

You might also like