Webové aplikace (English)

Z FI WIKI
Přejít na: navigace, hledání

(translation: web applications)

Introduction

Web applications are applications where the user interface is a Web Browser. They have three huge advantages over other types of applications (desktop, mobile, and command line):

  • The user does not have to install anything
  • Developer cares about only one version
  • A properly written application provides addresses (URL) in parts of the application, for example, someone can post a link to another page with a description of certain goods


Web applications are often used as a user interfaces in multi-tier applications.

Multitier.PNG

Client-side technologies

On the client-side we have typically available:

Temporary note : in Windows XP you cannot upgrade from MSIE MSIE 8 to 9, so MSIE 8 can still widely diffused for long time.

NOTE: a useful resource can be this, in reviewing whether one aspect of HTML5 is supported on different platforms.

Developer's Dilemma

Web application developers are faced with the dilemma : use the latest technology or support more users?

There are aspects to consider such as "Can blind people use my application ? What about color blind or people with monochrome monitors? What about people accessing from a mobile phone with a display 150x150 pixels? What people using a browser from a text console ( lynx or links ) without images and colors?".

The concepts of AJAX (Asynchronous JavaScript And XML) and RIA (Rich Internet Applications) mean that an application running inside a Web page on the client , ie browser uses either JavaScript DOM handling or the Flash plugin. The problem with such applications is that it can be a problem to store the current page of the application. Dynamically changed pages are also a problem for screen readers .


If you want to support the largest users base, use only HTML and CSS forms, but without JavaScript, cookies, Flash and the like.

If you choose to use JavaScript on the client side, get ready for that, you have to take care of all the incompatibilities among all the browsers or to use a library that will do this for you. Even Google announced that from 1.8.2011 will only support the last two versions of Firefox, Chrome, Safari and MSIE.

Statistics used browsers]


Statistics about browsers usage are a valuable guide in decision making. We can also easily obtain statistics using Google Analytics::

Google Analytics browsers 2012-04.png

and about MSIE:

Google analytics MSIE 2012-04.png


Support for Disabled

If you want to support most users , or if you work for a government that requires it directly ( see Web Content Accessibility Guidelines ) , web applications must be available to people who cannot see images and colors. It is therefore advisable to get used to some rules and follow then for all the Web applications :

  • image <img> always fill attribute for alternative text alt="Image description" , as well as for multimedia, scripts , applets , etc. .
  • If you are using image map (image clickable areas), always behind provide a list of links as an alternative
  • Do not rely on color designation, that is always highlight text (a mandatory form fields except red mark and asterisk)
  • Use hyperlinks in a meaningful text, therefore, not "click here"
  • Take advantage of HTML tags in their semantic meaning, ie use lists, titles, descriptions, fields, forms, etc... and format it using CSS

Roles involved in the development of web applications

Web application development involves typically young people in different roles and usually different people with different abilities. The following roles are present generally (see J2EE blueprints ):

  • Programmer - developer of applications
  • Web designer
  • Deployer
  • System Administrator
  • Provider of development tools
  • Provider application server
  • Provider components and libraries

It can be assumed that the last three roles can be solved by buying commercial products or downloading open source products. While the role of the programmer , deployer and system administrator usually are combined in one person, web designers tend to be people with graphic sensibilities , who are used to design graphic design in its final form ( so that it looks good on their monitor) and have difficulties with the identification of rules appearance at different resolutions and environment . The result is a nuisance pages "optimized" for 800x600 and MSIE browser.

What should a developer know

When creating a web application, the following technologies are important (ie, be a master of many crafts :-):

  • HTML, CSS, JavaScript
  • HTTP (URL, Cookies, Redirect, MIME types)
  • Security (SSL, hash functions, encryption, X.509 certificates, PKI)
  • Relational databases (SQL, JDBC)
  • Server-side tools (JavaEE, XML, XSLT, ...)

Tools for server-side

There are many technologies to consider server-side, take a kind of historical review:

  • CGI (Commong Gateway Interface) interface to generate pages for externally running programs
  • PHP and other scripting tools for embedding code in HTML text
  • Java servlets with the possibility of maintaining the HttpSession
  • JSP pages, WebMacro, Freemarker templating and other tools used by servlets
  • MVC framework based on the processing request (Apache Struts Spring MVC)
  • Java portlets allow you to assemble portal pages from multiple independent applications
  • MVC framework based on visual components (JSF Tapestry Stripes)
  • MVC framework based on the principle of convention takes precedence over the configuration (Ruby-on-Rails and followers)

Summary

This page is part of the password protected category web applications. It describes the general principles and problems of Web applications. We recommend a password to continue to JavaServlets.