- Framework definition
- What is Application Framework?
- Web Application Framework
- WAF and MVC
- Web Application Frameworks types
- Galaktikasoft in it
- To make it even easier: questions and answers
Some things in our life are habitual. Daily we do a lot of actions automatically: trip to job, every day routine, reading news etc. We meet such situations subconsciously and do not think about the significance of each separately.
In the same manner, we face such words as software, application framework while developing programs. But do we really understand the meaning of them? Today we will try to make it all clear and define application framework.
Starting from the very beginning, we will dive into the subject gradually step-by-step. So the first of such steps is to understand what framework means.
Framework is a tool, which makes developer life much easier. We will explain why. Imagine you have to generate application or software, how are you going to start? You will probably need some structure, tools and components. That is what a framework about.
Framework is a platform for software and applications development. In other words, with the helps of its functions and components framework is aimed to improve new software creation.
One important thing to mention: you should not confuse framework with library:
|Library can be used in the software creation as a set of programs.|
It will not affect architecture somehow.
|Framework, on the contrary, sets the rules for software architecture creation. It can contain a set of libraries and features, but in addition, framework also created software structure.|
Continuing to talk about software architecture, the framework in this point consists of two spots: frozen and hot ones.
- Frozen spots are the basic build-in features of a software. They define its architecture and remain fixed.
- Hot spots are the points where developers can add their own code in order to specify their project.
Talking about framework, we used the term application. Now is the high time to give application framework definition.
As you already understand from the previous paragraph, framework is a platform, which helps developer in software and application generation. And if we’ve already touched software framework below, it’s time to speak about application framework.
Application definition and types
But let’s overview application definition first. Application is a tool, which uses supporting programs in order to perform a specific purpose for the end-user. There are three main application types:
- Native applications: developed for a particular operating system exclusively. They are usually build-in and can’t be used in another OS. You can meet such applications in Blackberry, Windows phone, iOS, Android and others. As the native UI is used during the development process, native applications have a high performance.
- they are rather light and require little device memory;
- user’s data is saved on the server and you can access it everywhere if you have internet connection.
And yet, what is application framework? Application framework is a tool that provides templates and structure for application development. With a help of components and software libraries it aimed to build application’s architecture. One of the first application frameworks – MacApp - was developed by Apple for Macintosh computer in 1985.
- Application framework has the following features:
- Use of object-oriented techniques;
- Possibility to reuse design and code;
- Has a component structure;
- Extensible for customization;
- The base code is centralized in one location.
According to the applications types mentioned in the previous paragraph, there are also several types of application frameworks. Nowadays, the most popular among them is web application framework, which we are going to discuss in the next part.
Good or bad, but you can’t deny that our life more and more flows on the internet. We stopped downloading many things on our computers such as movies, music, books as they are constantly available online through our browsers. It saves us time, device memory and provides with a constant access wherever we are. The same with the application: it became much easier to work with web applications. Thus, web application frameworks gained their popularity.
Web application framework (WAF) is a set of libraries and tools for web application development. They are built around servers and provide developers with libraries, management tools, templates. Here is the benefits’ list of web application framework use:
- One-time class and function creation. Write function once and reuse it in different web app parts. It saves time when you need to change the function: just do it in one place;
- Comes with common libraries and functionalities;
- You can test a particular functionality – no need to spend time for the whole web application;
- Possibility to reuse the code.
The last benefit is available mainly thanks to MVC architecture.
Most web application frameworks based on MVC architecture. MVC is a pattern that divide UI and app logic on three separate components: Model-View-Controller. The useful point is that they can be modified separately. MVC has the following architecture:
Model – app logic, it is all about data. Interacts with the database and forms the suitable data requested from the controller.
View – presents user interface. Displays data from the model in the appropriate form.
Controller – the central part of the structure. Receives user’s requests and process them. Turns to model for the required data.
MVC architecture is rather useful for web application frameworks. It allows present multiple view, reuse the code and modify components separately without any damage to each other.
Returning to WAF, it is important to mention different types of the frameworks. According to the web app logic side, there are two types of web application frameworks: server-side and client-side:
|Server-side WAF||Client-side WAF|
|This kind of WAF runs on the web server.|
Server-side WAF processes HTTP requests, manage URL mapping and control over database. Here are the top of them:
|Client-side web application framework runs in the browser of user’s computer.|
The examples of client-side WAF are the following:
As you see, one of the most popular web application framework is ASP.NET MVC. But sometimes it requires additional modules and controls for better operation. Let’s see what Galaktikasoft can offer for that matter.
As we already mentioned, ASP.NET can be extended with the other frameworks. Two of them is DevExpress XAF and Galaktikasoft Xafari. Xafari is a framework, which aimed to extend DevExpress XAF and works on ASP.NET platform. It provides additional modules, controls and editors for complex business application development.
Xafari includes four main groups of components:
- General components
- Business components
- ERP components
- ASP.NET MVC
They are all make the developer’s work faster and more efficient and provide the following benefits:
- Fast adaptable for the end-user
- Make UI more attractive
- Provide additional settings and controls
- Use of .NET platform
- Give possibility to use the third-party solutions
In order to sort everything out, we’ve made a list of questions with answers, which you can face to diving into application framework topic.
1. What is the difference between application framework and web framework?
Application frameworks differ regarding the application type: they can be native, hybrid or web. According to the type application framework can help in development of build-in or web apps.
Web application framework is a type of application frameworks. It is aimed to develop web applications specifically.
2. How do platform, framework and technology differ?
Platform: can be described as a set of technologies that are the base on which applications and other technologies can be developed. The popular examples are PHP, ASP.NET, Java.
Framework: is a set of tools and functions for applications and software development. It helps to generate app structure and write a code faster. ASP.NET MVC is such an example.
Technology: is a knowledge we use in order to produce something or solve some problems.
3. Should I use framework and why?
4. Can you explain the difference between web framework and web server?
Web framework is a package of useful tools for software development. While web server is a program responsible for HTTP requests operation. So as you can see while working on the web, they have different responsibilities.
5. What do all the application frameworks have in common?
There are variety of application frameworks, so every user can easily choose the most suitable one for him. But being different they still have the basis common for all of them. Such components are usually common:
- MVC architecture
- Security handling
- System for authentication
- Templating system
We hope this article helped you to better understand framework real meaning and aim and now you know the basis of application framework.
Whether to work with it or not depends on you. But you can’t deny: it is much easier to start creation when you have support to rely on.