Web Assignment-3

advertisement
Web Application Frameworks in Future
Frameworks
A framework is usually a set of libraries and tools that help to build a web app.
There are tools that can make web application development easier, and not through
explanations but by providing a profound basis to build a web app on. A web application
framework is one of such tools.
Types of Web Application Frameworks
There are two groups of web application frameworks: one helps to set up app logic on the
server, the other on the client. To create a powerful web app, you can use both of them
simultaneously.
1. Server-side web application framework
Although front end has evolved, it’s first and foremost job is to display an interface, and
without app logic any UI/UX is irrelevant. That’s why server-side frameworks are
important. By using either of these server-side web application frameworks, you let it handle
HTTP requests, database control and management, as well as URL mapping.
Among the most popular MVC-based server-side web frameworks are:
1) Django
It is a high-level Python web application development framework that provides a clean
and pragmatic design to the database-driven websites. This open-source framework is
based on the Model-View-Template (MVT) architecture, that makes it reusable and
enables components to plug-in seamlessly.it allows administrators to develop, update,
and delete users easily. This back end development framework is known for its bundled
applications, including a dynamic administrative interface and tools to generate Google
sitemaps.
Features:
- Highly customizable: This web application development framework is in
itself a highly customizable web framework. The template framework, ORM, and
database can all be swapped out.
- Top-notch documentation: The Django documentation is well written,
thorough and explained everything in detail.
- Popular tool: Django is also a very popular tool, with an extensive community
and a lot of experienced developers that have been using it for years.
- Clear and defined MVC organization: Django follows some fairly well
established MVC patterns. With everything in place and where requests follow a clear
path through urlresolvers, middleware, view and context processors.
Technical specifications:
Default ORM: Django ORM
Default Template Engine: Django (Jinja2)
Multi-Language Support: Excellent
2) Ruby on rails
This is one of the most popular web frameworks written using the Ruby programming
language and executed on Linux. It offers developers a comfortable coding
environment, with easy compilation and testing. A special thanks to the MVC
architecture with which developers can add their code for views or models in a
concurrent environment.
It also allows a smooth transition from back end development and testing to the final
stages of the development lifecycle. It has built-in security-related functions and uses a
set of add-ons before the launch of the web app.
Features:
- Good conventions: MVC is a great starting point, and perfect for APIs.
- A number of plugins available: There are many third-party add-ons
(Ruby gems) available for the development of Rails. The largest and those with many
downloads and users are very well documented and easy to use.
- VPS hosting service: This web application development framework is
compatible with all the major cloud hosting services today. There are also countless
tutorials that help developers to implement their Rails applications if there is any
problem along the way.
- Massive community: The large scale and a lot of developers using Rails
have produced a lot of guides, tutorials, add-ons, documentation, videos and everything
that can help the developers of new and old Rails.
Technical specifications:
Default ORM: ActiveRecord
Default Template Engine: ERB
3) Flask
Flask is the most popular and lightweight Python web app development microarray that
does not use tools or libraries. It is one of the most ideal web frameworks for running
web applications through integrated devices. With Unicode-based support and
extensive documentation, it reduces tasks for programmers and project analysts.
It has a RESTful request dispatch that offers an advantage to the framework by
providing inter-network interoperability. The current state of the framework can be
modified by virtue of code extensions, to add desired features. Applications that use the
Flask framework include LinkedIn, Pinterest and the community website.
Features:
- Very flexible: This web application development framework gives developers a
lot of flexibility in how they develop their web apps.
- Maximum resources: It is one of the most popular Python web app development
frameworks. It has a plenty of guides, tutorials, and libraries available for its users.
- Great documentation: Its official documentation is very thorough and
complete. Everything is deeply explained and followed by extremely well-explained
tutorials that tackle real-world problems.
- Build quick prototype easily: It provides all the necessary tools to build
a quick prototype for a web application right after a fresh install.
Technical specifications:
Written in: Python
License: BSD License
4) Phoenix (Elixir)
The Phoenix back end development framework works with Erlang’s Virtual Machine
(VM), that makes better use of resources. It is capable of handling a large number of
users simultaneously, by virtue of its high speeds. Like Ruby on Rails or Python’s
Django, it is written in Elixir and follows the MVC pattern on the server side.
The fastest virtual machine in Phoenix reduces latency time and boosts the
performance of an API series. A large JSON request that takes between 1.5 and 2
seconds in Rails takes only 400 ms with Phoenix. The “cost per 1000 active users” in
Phoenix is much lower than the other back-end platforms.
Features:
- Beautiful and well-designed: With this web frameworks, you can easily
develop beautiful applications.
- Very fast: You can get sub-millisecond response times for simple requests.
- Great documentation: The community forums, official website, and
GitHub community are polite, friendly, and excited about the technology.
- Real-time streaming: With its soft real-time API, it works well with mobile,
web and embedded devices.
- Fault tolerant: It has maximum reliability since a process can have a
supervisor that can restart the process when it fails.
Technical specifications:
Written in: Elixir
Platforms: Linux, Windows
5) Express.js
It is a flexible and fast Node.JS web app development framework which offers a thin
layer of core web application features along with the main features of Node.JS.
Express, being used by many web development companies, functions to facilitate the
process of creating dynamic mobile apps.
A large number of known web frameworks of Node.JS like ItemsAPI and Bottr are
based on Express. Moreover, it is easy to create a solid API with an Express web app
development framework, a special thanks to the presence of several HTTP utility
methods.
Features:
- Powerful routing API: It allows developers from all web development
companies to do tasks from building a rest API to developing the routes for simple web
apps and then taking it to the next level by using routing API.
- Good documentation: It is really well documented as it contains
everything and also helpful for advanced web application development.
- Mature enough: It has matured quite a lot during all that time. It’s more stable
than its competitors and a huge community backing it.
- Supportive community: It has a big community with a lot of tutorials and
guides written by expert developers.
Technical specifications:
Written in: JavaScript
License: MIT
Repository:https://github.com/expressjs/express
Platforms:Cross-platform
6) Laravel
Being an open source web app builder, Laravel follows the MVC architecture pattern. It
is a PHP framework for the development of extensive backend web apps, which
facilitates seamless connectivity with the back-end. It is well equipped with effective
command line tools and help functions.
This backend web frameworks was initially introduced as an open source PHP web
framework in 2011. It has become popular thanks to its database migration, intuitive
interface, blade template engine etc. The framework has built-in utilities to access
relational databases with modular technology. packing system.
Features:
- Robust ecosystem: It provides excellent paid services for
deployment, provisioning, and learning. It has many high-quality
free supported and community packages, blogs, videos and other
resources.
- Great resources: There are a large number of sources for
learning about Laravel and modern PHP. Laracasts.com is one of
the best examples which is built using this web app development
framework.
- Powerful template system: Blade is a perfect example of this.
It compiles directly to raw PHP and is processed in the server
when a request is made.
- Community friendly: Community “leaders” are approachable,
helpful and respectful.
Technical specifications:
Default ORM: Eloquent
Default Template Engine: Blade
Written in: PHP
License: MIT License
7) Pyramid
This web application development framework is based on the
pay-per-use model, with only the common basic tools available
that are needed for the development of web apps. These include
mapping of URLs to the code, security, and the integration of the
database.
This small, open source framework based on an easy-to-use
approach for beginners is known for its speed. It has been
extensively tested in various scenarios and conditions and boasts
of the extensive documentation and extensive support available.
Features:
- Good for small and large projects: This web app
development framework was designed to set up quickly and grow
elegantly.
- Very flexible: It can be used to create small applications
quickly and easily, but also power large enterprise-scale
applications such as Dropbox.
Technical specifications:
Default ORM: SqlAlchemy
Default Template Engine: Jinja2
2. Client-side web application framework
In the previous article on web app architecture, we discussed the Single-Page Web App
concept, where one of the main components of the architecture is a JavaScript client
layer. To properly set it up, you need client-side frameworks
AngularJs
Angular is a frontend framework that specializes in building rich Single-Page applications. It’s
a very rich framework able to build complete client-side applications and there’s so much to
do and learn in Angular. Angular 1.x used Javascript, but later releases adopted Typescript,
which is a superset of Javascript. Angular’s main cons are its size compared to other
frameworks, and the fact it’s not SEO friendly by nature, though it can be SEO
optimized. Angular was developed by Google, and it’s used by Google, Microsoft, and Paypal.
Here is our detailed post on Angular:
Why should you learn Angular in 2018?
ReactJs
ReactJS is an open source, JavaScript library maintained by Facebook along with a large
developers’ community. This library(Also convertable to a web development framework) is
used extensively in developing user interface for web applications. This particular
framework was invented with a purpose of building large applications with data that
changes again and again over time.
VueJs
Vue.js is an open-source JavaScript library for developing user interfaces. Vue.js is
adoptable and can also function as a web application framework capable of powering
advanced single-page applications. It was first released in 2013 and now it has 59600 starts
on Github which makes it one of the best web development frameworks all over
Ember
Ember was named the best Javascript framework back in 2015. Today, the Ember community
is huge and it’s ever expanding, with new features and releases being added regularly. Ember
possesses the two-way data binding that Angular boasts and it comes with a lot of features
and components that you can use out of the box. It’s being used by Google, Microsoft,
Heroku, and Netflix. Ember revolves around the developer’s productivity and attempts to
maximize it by either eliminating the need for time-wasting activities or adopting some JS best
practices in its core design.
Backbone
Backbone is an extremely light frontend framework that’s fit for building rich Single-Page
applications. It follows an MV* pattern and partly implements the MVC design. Backbone only
has one core dependency which is the Underscore library, and it has a rich ecosystem, that
when added to Mustache and Marionette, will allow you to build complete client-side
applications.
Download