Web Development

webdevelopment
Web development is a broad term for the work involved in developing Websites for the Internet (World Wide Web) or the Intranet (a private network).

If you already know what this service is all about and wish to start or continue an ongoing project with me, please check the information page about my fees and terms.

Web development can range from developing a simplest static single page written in plain text, to the most complex web-based Internet applications, electronic business and social network services usually written in one or several Internet compatible programming languages.

A more comprehensive list of tasks to which web development commonly refers, may include:

  • web design,
  • web content development,
  • client liaison,
  • client-side/server-side scripting,
  • web server and network security configuration, and
  • e-commerce development.

Among web professionals, “web development” usually refers to the main non-design aspects of building web sites: writing markup and coding. Web development is a collaborative effort between departments rather than the domain of a designated department.

For small organizations and businesses, web development teams can consist of few people (1 to 10 web developers). Such organizations may only require a single permanent or contracting webmaster, or secondary assignment to related job positions such as a graphic designer and/or information systems technician.

For larger organizations and businesses, web development teams can consist of dozens and even hundreds of people (web developers), and still, Web development may be a collaborative effort between departments.

Web development as an industry

Since the commercialization of the web, web development has been a growing industry. The growth of this industry is being pushed especially by businesses wishing to sell products and services to online customers. Internet sales if growing worldwide.

For tools and platforms, the public can use many open source systems to aid in web development saving huge amounts of money. A popular example, the LAMP (Linux, Apache, MySQL, PHP) stack is available for download online free of charge. This has kept the cost of learning web development to a minimum. Another contributing factor to the growth of the industry has been the rise of easy-to-use WYSIWYG web-development software, most prominently Adobe Dreamweaver, WebDev, and Microsoft Expression Studio. Using such software, virtually anyone can relatively and quickly learn to develop a very basic web page.

Knowledge of HyperText Markup Language (HTML) and/or of programming languages is still required to use public domain and shareware software, but the basics can be learned and implemented quickly with the help of help files, technical books, internet tutorials, or face-to-face training. Learing to program computers and servers is not difficult, just time consuming. Learing about the full power of a programing language may easily take one to several years.

An ever growing set of tools and technologies have helped developers build more dynamic and interactive websites. Web developers now help to deliver applications as web services which were traditionally only available as applications on a desk-based computer.

Instead of running executable code on a local computer, users can interact with an online application to create new content interactivelly using any text editor or programming platform. This has created a new method in communication and allowed for many opportunities to decentralize information and media distribution. Users can interact with applications from many locations, instead of being tied to a specific workstation for their application environment. Web based applications allows you to have multiple users, and can be accessed from anywhere in the world.

Examples of dramatic transformation in communication and commerce led by web development include: e-commerce, social networks, dating services, online classifieds, shopping carts.

Online auction-sites such as eBay have changed the way consumers find and purchase goods and services. Online retailers such as Amazon.com and Buy.com (among many others) have transformed the shopping and bargain-hunting experience for many consumers. Another good example of transformative communication led by web development is the use of blog platforms like Drupal, WordPress, DotNetNuke, BlogsDotNet, etc. Web applications such as WordPress and Movable Type have created easily-implemented blog-environments for individual web sites. The popularity of open-source content management systems such as Joomla!, Drupal, XOOPS, TYPO3 and enterprise content management systems such as Alfresco and eXo Platform have extended web development’s impact at online interaction and communication.

website_design_and_developmentWeb development has also impacted personal networking and marketing. Websites are no longer simply tools for work or for commerce, but serve more broadly for communication and social networking. Websites such as Facebook and Twitter provide users with a platform to communicate and organizations with a more personal and interactive way to engage the public.

Typical areas

Web Development can be split into many areas, and a typical and basic web development hierarchy might consist of:

Client side coding

  • Ajax Asynchronous JavaScript provides new methods of using JavaScript, and other languages to improve the user experience.
  • Flash Adobe Flash Player is a ubiquitous browser plugin ready for RIAs. Flex 2 is also deployed to the Flash Player (version 9+).
  • JavaScript JavaScript is a ubiquitous client side platform for creating and delivering rich web applications that can also run across a wide variety of devices. It is a dialect of the scripting language ECMAScript.
  • jQuery Cross-browser JavaScript library designed to simplify and speed up the client-side scripting of HTML.
  • Microsoft Silverlight Microsoft’s browser plugin that enables animation, vector graphics and high-definition video playback, programmed using XAML and .NET programming languages.
  • HTML5 and CSS3 Latest HTML proposed standard combined with the latest proposed standard for CSS natively supports much of the client-side functionality provided by other frameworks such as Flash and Silverlight

Looking at these items from an “umbrella approach”, client side coding such as XHTML is executed and stored on a local client (in a web browser) whereas server side code is not available to a client and is executed on a web server which generates the appropriate XHTML which is then sent to the client. The nature of “client side coding” allows one to alter the HTML on a local client and refresh the pages with updated content (locally), web designers must bear in mind the importance and relevance to security with their server side scripts. If a server side script accepts content from a locally modified client side script, the web development of that page is poorly sanitized with relation to security.

Server side coding

  • ASP (Microsoft proprietary)
  • ColdFusion (Adobe proprietary, formerly Macromedia, formerly Allaire)
  • CGI
  • Erlang, with Linux, Yaws, Mnesia, Erlang (LYME) solution stack
  • Groovy, using the Grails framework
  • Java, e.g. Java Servlets, JSP or WebObjects
  • Lotus Domino
  • Node.js
  • Perl, e.g. Catalyst, Dancer or Mojolicious (all open source)
  • PHP (open source)
  • Python, e.g. Django (web framework) (open source)
  • Ruby, e.g. Ruby on Rails (open source)
  • Scala, e.g. Play Framework, Lift Framework (open source)
  • SSJS Server-Side JavaScript, e.g. Aptana Jaxer, Mozilla Rhino
  • .NET and .NET MVC Frameworks (Microsoft proprietary)
  • Client side + server side
  • Google Web Toolkit provides tools to create and maintain complex JavaScript front-end applications in Java.
  • Dart provides tools to create and maintain complex JavaScript front-end applications as well as supporting server-side code in Dart (programming language).
  • Opa is a high-level language in which both the client and the server parts are implemented. The compiler then decides which parts run on the client (and are translated automatically to JavaScript) and which parts run on the server. The developer can tune those decisions with simple directives. (open source)
  • Pyjamas is a tool and framework for developing Ajax applications and Rich Internet Applications in Python.

Tersus is a platform for the development of rich web applications by visually defining user interface, client side behavior and server side processing. (open source)

However, languages like Ruby and Python are often paired with database servers other than MySQL (the M in LAMP). Below are example of other databases currently in wide use on the web. For instance some developers prefer a LAPR setup for development. (LAPR = Linux/Apache/PostgreSQL/Ruby on Rails)

Database technology

  • Apache Derby *
  • CouchDB *
  • FileMaker
  • Firebird *
  • IBM DB2
  • IBM Notes
  • MariaDB *
  • Mark_Logic
  • Microsoft SQL Server
  • MongoDB *
  • MySQL *
  • Oracle
  • PostgreSQL *
  • Redis *
  • SQLite *
  • Sybase
  • WebDNA

* open source / public domain

Practical web development

Basic

In practice, many web developers will have basic interdisciplinary skills / roles, including:

  • Information System’s design
  • Web site’s design
  • Graphic’s design
  • Information architecture and copywriting/copyediting with web usability, accessibility and search engine optimization in mind

The above list is a simple website development hierarchy and can be extended to include all client side and server side aspects. It is still important to remember that web development is generally split up into client side coding, covering aspects such as the layout and design, and server side coding, which covers the website’s functionality and back-end systems.

Advanced

Some more advanced web developers will also have these interdisciplinary skills / roles:

  • GUI (Graphic User Interface) design
  • Audio, Video and Animation processing and encoding (for web usage)
  • Flash Capabilities (animation, audio, video, scripting)
  • Web content management system Deployment and/or Content management infrastructure design, development and integration
  • Web applications development, integration and deployment
  • Web server stress testing (how much traffic can a web server running a specific application endure before collapsing)
  • Web site security analysis & testing
  • Web site code optimization (which is an important aspect of search engine optimization)
  • Project management, QA and other aspects common to IT development
  • Advanced customized admin panel (For end-users)
  • Database integration with web applications
  • Security considerations

Web development takes into account many security considerations, such as data entry error checking through forms, filtering output, and encryption.

Malicious practices such as SQL injection can be executed by users with ill intent yet with only primitive knowledge of web development as a whole. Scripts can be used to exploit websites by granting unauthorized access to malicious users that try to collect information such as email addresses, passwords and protected content like credit card numbers and customer’s information.

Some of this is dependent on the server environment, most commonly Apache or Microsoft IIS, on which the scripting language, such as PHP, Ruby, Python, Perl or ASP is running, and therefore is not necessarily down to the web developer themselves to maintain. However, stringent testing of web applications before public release is encouraged to prevent such exploits from occurring. If some contact form is provided in a website it should include a “captcha” field in it which prevents computer programs from automatically filling forms and also mail spamming.

Keeping a web server safe from intrusion is often called “Server Port Hardening”. Many technologies come into play to keep information on the internet safe when it is transmitted from one location to another. For instance “Secure Socket Layer Encryption” (SSL) Certificates are issued by certificate authorities to help prevent internet fraud. Many developers often employ different forms of encryption when transmitting and storing sensitive information. A basic understanding of information technology security concerns is often part of a web developer’s knowledge.

Because new security holes are found in web applications, even after testing and launch, security patch updates are frequent for widely used applications. It is often the job of web developers to keep applications up to date as security patches are released and new security concerns are discovered.

For your Website development needs, DAPROSE offers you the experience, the skills, and the technology to develop, host and maintain your Web based applications.

Ready to start some serious business with me? Please check the information page about my fees and terms.

Or call me at (281) 940-6070 for more information.

Bookmark the permalink.

Comments are closed.