Web Application Development

Sumphero create web applications that are dynamic solutions with server side programming to provide functionalities such as interacting with users, connecting to back-end databases, and generating results to browsers.

Examples of Web Applications are Online Banking, Social Networking, Online Reservations, eCommerce / Shopping Cart Applications, Interactive Games, Online Training, Online Polls, Blogs, Online Forums, Content Management Systems, etc

Technologies

There are two main categories of coding, scripting and programming for creating Web Applications:

I. Client Side Scripting / Coding - Client Side Scripting is the type of code that is executed or interpreted by browsers. Client Side Scripting is generally viewable by any visitor to a site (from the view menu click on "View Source" to view the source code).

Below are some common Client Side Scripting technologies:

  • HTML (HyperText Markup Language)
  • CSS (Cascading Style Sheets)
  • JavaScript
  • Ajax (Asynchronous JavaScript and XML)
  • jQuery (JavaScript Framework Library - commonly used in Ajax development)
  • MooTools (JavaScript Framework Library - commonly used in Ajax development)
  • Dojo Toolkit (JavaScript Framework Library - commonly used in Ajax development)

II. Server Side Scripting / Coding - Server Side Scripting is the type of code that is executed or interpreted by the web server.

Server Side Scripting is not viewable or accessible by any visitor or general public.

Below are the common Server Side Scripting technologies:

  • PHP (very common Server Side Scripting language - Linux / Unix based Open Source - free redistribution, usually combines with MySQL database)
  • Zend Framework (PHP's Object Oriented Web Application Framework)
  • ASP (Microsoft Web Server (IIS) Scripting language)
  • ASP.NET (Microsoft's Web Application Framework - successor of ASP)
  • ColdFusion (Adobe's Web Application Framework)
  • Ruby on Rails (Ruby programming's Web Application Framework - free redistribution)
  • Perl (general purpose high-level programming language and Server Side Scripting Language - free redistribution - lost its popularity to PHP)
  • Python (general purpose high-level programming language and Server Side Scripting language - free redistribution)

Web Applications Lifecycle Model

Web Application Lifecycle is the process of developing a web application and involvement of the multiple teams that are engaged in the development process. Each organization may set forth its own unique style of operating.

Some companies follow a certain standard model such as SDLC (System Development Life Cycle) or Agile Software Development Model.
SDLC is the traditional process of developing software or web applications by including research to identify and define the application requirements, information analysis, architectural design and specifications blueprint, team involvement, programming, testing and bug fixing, system testing, implementation and maintenance.
Agile Software / Web Application Development is the iterative development process and development process practices that focus on collaboration of people involved and provide a better procedure to allow revisions and evolution of web application requirements. Agile methodology includes research, analysis, project management, design, programming, implementation, frequent testing, adaptation and maintenance.

Web Application Development Process

Web Application Development Process organizes a practical procedure and approach in application development.

For detail information: Web Application Development Process

The following list of procedures and suggested documents provide a good outline for a Web Application Lifecycle and Process:

  • Roadmap Document: Defining Web Application, Purpose, Goals and Direction
  • Researching and Defining Audience Scope and Security Documents
  • Creating Functional Specifications or Feature Summary Document
  • Team Collaboration and Project Management Document
  • Technology Selection, Technical Specifications, Illustrative Diagram of Web Application Architecture and Structure, Development Methodology, Versions Control, Backups, Upgrades, Expansion and Growth Planning Document, Server Hardware / Software Selection
  • Third Party Vendors Analysis and Selection (Merchant Account and Payment Gateway, SSL Certificate, Managed Server / Colocated Server Provider, Fulfillment Centers, Website Visitor Analytics Software, Third Party Checkout Systems, etc.)
  • Application Visual Guide, Design Layout, Interface Design, Wire Framing
  • Database Structure Design and Web Application Development
  • Testing: Quality Assurance, Multiple Browser Compatibility, Security, Performance - Load and Stress Testing, Usability
    Maintenance