NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

3 Types Of Web Application Architecture
Such terms as ''web app'', ''front-end architecture'', ''Web 2.0'', and ''HTML5 apps'' have recently become trendy. Unfortunately these terms are often found in a misleading context which doesn't think about the full specificity of implementation and using web app architecture. Today we'll try to find out more about the types of web application architecture in the light of the latest web trends and key issues that matter to software owners.

We'll outline 3 main forms of web architecture and discuss their advantages and drawbacks for three points of view: software owner, software contractor (developer) and end user. There can be other styles but they basically drop to these three as their subtypes.

First we'll define a web application: it is a client-server application - there exists a browser (your client) and a web server. The logic of a web application is distributed among the server and the client, there's a channel for information exchange, and the data is stored mainly on the server. Further details depend on the architecture: different styles distribute the logic in various ways. It can be positioned on the server in addition to on the client side.

It's near to impossible to judge these very different architectures impartially. But we'll try to, using several criteria of evaluation:

User:
Responsiveness/Usability. Updates of data on pages, switching between pages (response time). Such qualities of interface as richness and intuitiveness used.
Linkability. Capability to save bookmarks and links to various sections of the website.
Offline work. Speaks for itself.

Developer:
Speed of development. Addition of new functional features, refactoring, parallelizing the development process between developers, layout designers, etc.
Performance. Maximum speed of response from the server with minimum usage of computation power.
Scalability. Capability to increase computation power or disc space under increases in levels of information and/or amount of users. In the event the allocated scalable system is used, one must definitely provide data consistence, availability and partition tolerance (CAP theorem). It's also worth noting that the case, when the number of features/screens of the client app is increased at the software owner's request, depends on the framework and implementation as opposed to the type of web architecture.
Testability. Possibility and easiness of automated unit testing.

Software owner:
Functional extendability. Adding functionality within minimal time and budget.
SEO. Users must be able to discover the application through any search engine.
Support. Expenses on app infrastructure - hardware, network infrastructure, maintenance staff.
Security. The software owner must be sure both business data and information about users are kept secure. Because the main security criterion we'll think about the chance for changes in functionality of app behavior on the client side, and all associated risks. Standard dangers will be the same for the compared architectures. We usually do not consider security on the 'server-client' channel, because all these architectures are equally exposed to break-ins - this channel can be the same.
Conversion: site - mobile or desktop application. Possibility to create the application form on mobile markets or even to make a desktop application out of it with minimal additional costs.

Some of these criteria may seem inaccurate, but the reason for the article is not to show what's good and what's bad. It's more of a detailed review that shows the possible options of preference.

Let's outline three main types of web applications according to the roles performed by the server and the client browser.

Type 1: Server-side HTML

The most widespread architecture. The server generates HTML-content and sends it to your client as a full-fledged HTML-page. Sometimes this architecture is named ''Web 1.0'', because it was the first ever to appear and currently dominates the net.

Responsiveness/Usability: 1/5. Minimal optimal value among these architectures. It's so since there is a great amount of data transferred between the server and the client. The user has to wait until the whole page reloads, responding to trivial actions, for instance, when only a area of the page needs to be reloaded. UI templates on your client depend directly on the frameworks applied on the server. As a result of limitations of mobile internet and huge amounts of transferred data, this architecture is hardly applicable in the mobile segment. There are no means of sending instant data updates or changes instantly. If we consider the chance for real-time updates via generation of ready chunks of content on the server side and updates of your client (through AJAX, WebSockets), plus design with partial changes of a page, we'll exceed this architecture.

Linkability: 5/5. The best of the three, since it's the easiest implementable. It's because of the fact that automagically one URL receives particular HTML-content on the server.

SEO: 5/5. Rather easily implemented, similarly to the previous criterion - this content is known beforehand.
Speed of development: 5/5. This can be a oldest architecture, so it is possible to select any server language and framework for particular needs.

Scalability: 4/5. If we have a look at the generation of HTML, under the increasing load comes the moment when load balance will undoubtedly be needed. There's a a lot more complicated situation with scaling databases, but this task is the same for these three architectures.

Performance: 3/5. Tightly bound to responsiveness and scalability with regards to traffic, speed etc. Performance is relatively low because a big amount of data should be transferred, containing HTML, design, and business data. Therefore it's necessary to generate data for your page (not merely for the changed business data), and all the accompanying information (such as for example design).

Testability: 4/5. The positive thing is that there surely is no need in special tools, which support JavaScript interpretation, to check the front-end, and the content is static.

Security: 4/5. The application form behavior logic is on the server side. However, data are transferred overtly, so a protected channel could be needed (that is basically a story of any architecture that concerns the server). All the security functionality is on the server side.

Conversion: site - mobile or desktop application: 0/5. Typically it's simply impossible. Rarely there's an exception (more of exotics): for instance, if the server is realized upon node.js, and you can find no large databases; or if one utilizes third-party web services for data acquisition (however, it's a more sophisticated variant of architecture). Thus one can wrap the application in node-webkit or analogous means.
Manly architects

Read More: https://www.droom.com.au/manly-architects
     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.