What is Framework ?
In this article we will dive deeply into what is framework ? and where are these frameworks exactly used.
Table of Content :
- What is framework ? (with example)
- Why frameworks are useful ?
- Difference between library and framework.
- Advantages of using framework.
- Types of frameworks.
- Which frameworks are used the most.
What is FrameWork ?
- Framework is a software that helps programmers in development of new applications .
- Framework is a reusable code that provides specific functionality to developers so they can develop various applications according to the requirements.
- Framework is an arrangement which provides greater functionality that can be extended by user written codes
According to Wikipedia framework is :
A software framework is an abstract or concrete framework under which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software.
Tensorflow is a framework that helps Data Scientists to work in various problems in Data Science.
Why Frameworks are used ?
- Frameworks are built by large community of developers so the code has been tested several times so it is reliable.
- As frameworks are updated several times the code gets more optimized and favourable for development of applications.
- Also frameworks helps programmers to focus on high level functionality of the software as the lower level functionality is controlled by the framework itself.
Difference between Library and Framework:
To differentiate between the library and the framework first of all we need to understand what framework and library is !
We already discussed about frameworks in the about section now let’s clear the library concepts.
A library is a collection of pre-compiled routines that a programmer can use . Libraries very useful of string frequently used routines so that the programmer can access them whenever needed in the program.
Libraries are used for storing routines because you do not need to explicitly link them to every program.
Advantages of using Framework :
- Ease of debugging and Application maintenance.
- Drastically reduces the length of the code.
- Improves Database proficiency.
- Bootstraps the development process.
- Tested code by huge community of developers.
- Better configuration.
- Easy and instant access to well written libraries.
- Code is more secure.
- Many frameworks are open-source and free to use.
Types of Frameworks :
Frameworks are used in many fields such as Web development, Data Science, Artificial Intelligence, Mobile App development, and many more.
In this article we are going to discuss in detail on Web development, Data Science, Mobile App Development frameworks.
Web development Frameworks :
1. Ruby on rails :
Ruby on Rails is a framework developed by David Heinemeier Hansson in the year 2005. Rails is a Model-View-Controller framework that uses Ruby. This framework is developed by giving priority to render on server side.
Ruby has a huge community of users and developers so it loved by many people out their. Due to large community their are many resources that will help beginners in mastering the framework.
Ruby on Rails is used in companies like:
Latest version released : Rails 5.0.0. beta2
Official Website : rubyonrails.org
GitHub Link of Ruby on rails : GitHub ruby on rails
Tutorial to get started with ruby on rails :
2. Angular :
Angular is one of the most top rated framework for frontend. It is a open-source framework developed in 2010. Angular is specifically developed for client-side applications and single application web pages.
But it has minor draw backs such as it is not SEO friendly, it is much larger as compared to other frameworks.
Angular is used in :
Latest Version of Angular : AngularJS 1.7
Official Website : Angular.io
Angular GitHub Link : Giuthub/angular.
Tutorial to get started with Angular :
3. Laravel :
Laravel was developed by Taylor Otwell in 2011.It is a framework that uses PHP as its primary language. It is a new framework compared to others but it has a huge community support and offers library of modular packages and tools for extending its purpose and functionality.
Laravel is also a MVC like Ruby on Rails and many other.
Laravel is easy to learn and has many resources for beginners to get started with Laravel.
Laravel is used in companies like :
Language : PHP.
Latest version of Laravel : Laravel 5.2
Official Website : Laravel.com
Laravel GitHub Link : Github Laravel
Tutorial to get started with Laravel :
4. Django :
Django is an open-source framework developed in 2003. Django is used for development of fast and quality web applications.
Django uses Python as the primary language for development.
Django is a Model-View-Template that works on philosophies such as Convention Over Configuration (CoC) and Don’t Repeat Yourself (DRY) patterns.
Django is used in Companies like :
Language : Python.
Latest version : Django 3.1.7
Official Website : Djangoproject.com
Django GitHub Link : Github.com/django
Tutorial to get started with Django :
5. React :
React is a open-source, front-end framework developed by FaceBook in 2013. React is the first framework that embrace the Document Object Model (DOM) which helps in such a way that the data can be changed without effecting the client side presentation.
It has a huge community of contributors along with Facebook due to this their are many resources out there to learn react.
React is used in companies like :
Latest Version : 17.0.1
Official Website : react.org
GitHub Link of react : github/react
Tutorial to get started with React.js :
Data Science frameworks :
1. Tensorflow :
Tensorflow is a open-source framework developed by Google.
Tensorflow is mainly used for numerical computation using data flow graphs. It supports languages like C, C++ and R to establish deep learning models.
Tensorflow is available on desktops and mobile devices. One of the implementation of Tensorflow is Google Translate.
TensorFlow is used in Companies like :
Tensorflow website for more information : tensorflow.org
TensorFlow Tutorial :
2. Scikit-learn :
Scikit-learn is a very well known and open-source framework used for machine learning.
Scikit-learn is a framework mainly used in small applications for classification, regression, clustering, and decomposition.
Scikit-learn is based on Python due to which it is fast, secure and efficient in development.
It is dynamically used across all parts of the bank mainly for tasks like classification, predictive analytics, and machine learning tasks.
Scikit-learn is used in companies like :
Scikit-learn website for more information : scikit-learn.org
Scikit-learn tutorial :
3. Pandas :
Pandas is a open-source, Python framework which provides us a fantastic set of tools to do Data Analysis. Pandas is used in field like Data Analysis, Data Science, and Machine Learning.
Pandas offers features like load, manipulate, prepare, model and analyze data.
By using Pandas you can Join Data, Merge Data, Reshape Data and take data from different databases.
Panda is used in companies like :
Pandas website for more information : pandas.pydata.org
Pandas tutorial :
4. Pytorch :
Pytorch is a popular deep learning framework. Pytorch is developed by Facebook for artificial intelligence.
Pytorch operates on the fundamental base of dynamically updated graph. This means that Pytorch enables you to make changes in the architecture in the process.
The name of Pytorch is inspired by the torch deep learning framework which was written in the Lua programming language.
Pytorch is used in companies like :
- ANSYS Inc.
- Duff & Phelps.
- Capital One.
Pytorch website for more information : pytorch.org
Pytorch tutorial :
5. Numpy :
NumPy is a short form of (Numeric Python). NumPy is a open-source library for Python. NumPy is mainly used to create multi dimensional arrays.
Numpy can be used for mathematical operations as it has many predefined functions in it.
NumPy the standard library for scientific computing. Also NumPy provides powerful tools for integrating C/C++ and Fortran code.
Numpy comes with variety of statistical and numerical built-in functions such as:
- Linear algebra functions.
- Fourier transformation capabilities.
- Gaussian distribution.
NumPy is used in companies like :
Numpy website for more information : numpy.org
Numpy Tutorial :
Mobile App Development :
1. Flutter :
Flutter is a cross platform mobile app development framework.
Flutter is developed by Google. Flutter is a UI-toolkit that can develop applications for mobile, desktop and web platform.
Flutter uses Skia (a 2D graphics library) which evaluates the User Experience to higher levels.
Features of Flutter :
- Can develop high performance applications.
- Has high variety of widgets to use.
- It has a very flexible User Interface which allows developers to customize according to the requirements.
Get started with flutter : Link of Flutter
Flutter Tutorial :
2. React Native :
React Native is a open-source framework developed by Facebook. The main underlining feature of the framework is that we can develop apps for Android and IOS very seamlessly.
Features of React Native :
- Easy to maintain.
- Integration with third party plugins.
- Supports IOS and Android.
Get started with React Native : Link of React Native.
Tutorial for React Native :
Which frameworks are used the most :
(Source : explore-group.com)
From the above discussion we come to know that there are various types of frameworks and libraries to be used will developing applications. But it entirely depends on the requirements of the application and the developer to decide which framework to go with.