Eastern Institute of Technology, Hawke’s Bay, New Zealand
Corich, S. (2008). Teaching web application development: Microsoft proprietary or open systems?. Journal of Applied Computing and Information Technology, 12(1). Retrieved April 5, 2020 from http://www.citrenz.ac.nz/jacit/JACIT1201/2008Corich_WebApplicationDevelopment.html
This paper revisits the debate concerning which development environment should be used to teach server-side Web Application Development courses to undergraduate students. In 2002, following an industry-based survey of Web developers, a decision was made to adopt an open source platform consisting of PHP and MySQL rather than a Microsoft platform utilising Access and Active Server Pages. Since that date there have been a number of significant changes within the computing industry that suggest that perhaps it is appropriate to revisit the original decision.
This paper investigates expert opinion by reviewing current literature regarding web development environments, it looks at the results of a survey of web development companies and it examines the current employment trends in the web development area. The paper concludes by examining the impact of making a decision to change the development environment used to teach Web Application Development to a third year computing degree class and describes the impact on course delivery that the change has brought about.
In 2002 the programming environment for the third year web application development course at the Eastern Institute of Technology was changed from Microsoft's Active Server Pages (ASP) environment to PHP, an open source environment (Corich, 2003). The decision at the time was made following a review of industry trends and a comparison of the tools that were available. At the time PHP was growing in popularity, there was a general trend towards open source solutions and the number of PHP developer employment opportunities was increasing.
The Web Application Development course, which is one of the Bachelor of Computing Systems level 7 courses, aims to provide students knowledge and skills for developing Web based client-server applications. For the last five years the course has been delivered using a combination of PHP and mySQL environments. Student reaction has always been positive and the students that were able to successfully complete the course have found it relatively easy to find employment in the web development area.
There have been a number of important developments that have occurred since the decision was made to adopt PHP, making it is an opportune time to revisit the development environment decision to ensure that the platform being used meets the needs of industry and prepares students for employment.
This paper, which is an updated and expanded version of an earlier conference paper (Corich, 2007), investigates the current literature regarding web development environments, focusing on the more popular options. The paper also reports on the results of a survey of commercial web development companies and looks at the employment prospects for students in terms of web development skill sets. The paper concludes by examining the impact of the decision by the Eastern Institute of Technology (EIT) to change its web development environment. It describes the effect of the environment change on the methods of delivery and the response to the change in platform by students and employers.
The research methodology adopted for this investigation involved a review of current literature, investigating current web application development environments and concentrating on the comparative strengths of ASP.NET and PHP as environments used for teaching web-based programming. The review of literature was supported by a survey of Wellington and Napier based web development companies. The survey included the gathering quantitative and qualitative data in an attempt to establish which web application development environment companies prefer and what skills they expect from computing graduates. An analysis was also conducted to establish the relationship between programming environments and the number of job vacancies at the SEEK IT web site.
A review of academic papers indicated that definitions of web development are hard to find, and perhaps the definition from Wikipedia (Web Development, n.d.) best sums up what is generally accepted as being an agreed understanding:
"Web Development is a broad term that incorporates all areas of developing a web site for the World Wide Web. This can include e-commerce business development, web design, web content development, client- side/server-side coding, and web server configuration. However, among web professionals, "web development" usually refers only to the non- design aspects of building Web sites, e.g. writing markup and coding. Web development can range from developing the simplest static single page of plain text to the most complex web-based internet applications, electronic businesses, or social network services"
When designing higher level web application development courses, educationalists have tended to concentrate on the server-side activities that are associated with dynamic web pages where page content is produced as a result of sending queries to an online database. There are a number of recognised development tools that are associated with this activity, the more commonly used tools include Ajax, ASP. NET, ColdFusion, Java Enterprise Edition, Perl, Python, PHP and Ruby on Rails.
Ajax is growing in popularity, with Ajax connectivity being integrated into other web development environments. Ajax is being adopted more as a plug-in to an existing web development environment rather than being used to develop commercial database-driven web sites.
ASP.NET is a set of technologies developed by Microsoft as a replacement for ASP. Walth (2006) explains that ASP.NET is built on the Common Language Runtime, meaning programmers can write ASP.NET code using any Microsoft .NET language. Unlike its predecessor ASP, ASP. NET gains performance benefits over other script-based technologies by compiling the server-side code to one or a few DLL files on the web server. This happens transparently in the background the first time a page is requested. This provides the ease of development offered by scripting languages along with the performance benefits of a compiled binary. First released in 1995 by Allaire, ColdFusion is an application server and software development framework used for the development of computer software in general, and dynamic web sites in particular. Written originally in C++, Cold Fusion was only available on Windows platforms. In 2001
Allaire merged with Macromedia and the Cold Fusion environment was completely rewritten in Java to produce a cross platform solution. The Adobe website claims that the current version, Macromedia® ColdFusion® MX 7, is compiled to bytecode, like ASP.NET. The current version has also been extended to support basic object-orientated programming (OOP). While a trial version of Cold Fusion is available for download, the full-development environment must be purchased. While there are a number of commercial development companies using Cold Fusion, it is not a popular choice among New Zealand web development companies.
Java Platform Enterprise Edition or Java EE is a programming platform which is part of the Java Platform, used for developing and running distributed multi-tier architecture Java applications. Java EE is based largely on modular software components running on an application server. Java EE is informally considered to be a standard because providers must agree to certain conformance requirements in order to declare their products as Java EE compliant. Perrone and Chaganti (2003) claim that one of the benefits of Java EE as a platform is that it is possible to get started with little or no cost. The Java EE implementation from Sun Microsystems can be downloaded for free, and there are a great many open source tools available to extend the platform or to simplify development. Like Cold Fusion, Java EE is used internationally in web site development, however the writer could find no evidence of it being used by New Zealand web development companies.
Wall, Christiansen and Orwant (2000) describe Perl as a dynamic programming language created by Larry Wall and first released in 1987. Perl is popular among database application developers. Its text handling facilities are good for generating SQL queries and arrays, and automatic memory management make it easy to collect and process the returned data. Perl lacks user-friendly development tools and is seen as an environment more suited to developers who are proficient programmers. It appears that Perl has been overtaken by the development environments that offer integrated development tools with well designed graphical user interfaces.
Python was first released by Guido van Rossum in 1991. Kuchling (2006) states that Python was designed around a philosophy which emphasizes the importance of programmer effort over computer effort. Python is often described as a minimalist development environment; however the standard library provides the language with a large number of libraries and extensions. Like Perl, Python lacks integrated development tools and is described by many as being a time consuming development environment (Jazayeri, 2007).
PHP is a programming language originally designed for producing dynamic Web pages. PHP is used mainly in server-side scripting, but can be used from a command line interface or in standalone graphical applications. PHP is produced by the PHP Group and is considered to be free software by the Free Software Foundation. PHP can be used with a large number of relational database management systems and runs on most of the popular web servers. Versions of PHP are available for many different operating systems. This flexibility means that PHP has a wide installation base across the Internet; over 19 million Internet domains are currently hosted on servers with PHP installed (Kerner, 2006).
Ruby on Rails was released in 2004 and is an open source project written in the Ruby language. Ruby on Rails aims to increase the speed and ease of web development with a philosophy that incorporates simplicity and convention. Since its introduction Ruby on Rails has experienced a surge in popularity and has been described by George Jones (2007) of Computerworld as being one of the top five technologies to watch in 2007. While Ruby on Rails is touted as being an environment to watch, it is not yet an environment of choice for New Zealand web development companies.
While there are a number of mature development environments and a number of up and coming web application development environments, the two most popular environments among New Zealand web developers are ASP.NET and PHP. If a tertiary institute aims to prepare students for the web development marketplace then students should have exposure to one or both of the two most popular languages.
Comparisons of the two development environments are not hard to find, however the majority of the comparisons are written by people who have a foot in one camp or the other and as a result have a vested interest in one environment over the other. Microsoft developers tend to find evidence to support ASP.NET while the open source community heavily favour PHP. What is generally accepted by both communities is that ASP.Net, while being a replacement for ASP, is a very different environment to its predecessor.
When evaluating object oriented programming environments, Kolling, Quig, Patterson, and Rosenburg (2003) explained that there were seven key features which should be considered when choosing a suitable educational environment. The seven features were:
With these seven features in mind, the writer attempted to make a comparison between ASP.NET and PHP. While the author attempted to avoid a bias towards one environment over the other, the findings may suggest a bias towards ASP.NET. This bias was not intentional.
As Kolling et al. (2003) suggest, the environment must be easy enough to manage for inexperienced students, so that they are able to undertake simple programming tasks within a very short time. This implies that the environment must have a graphical user interface (GUI) with built- in debugging features. PHP as a language is elegant and easy to code but despite claims by its supporters that tools like Eclipse and PHP Edit provide robust GUI development environments, none of the tools compare to the drag and drop features that Visual Studio, the .NET development environment, provides.
Kolling et al. (2003) explain that the requirement of tool integration is a direct result of the ease-of-use requirement. The integration of tools can have many benefits, among them a unified interface making all components appear in a unified way and making the environment easier to learn. A tool with a unified interface can make use of an interface already provided by another tool, such as a debugger, using the text display provided by an editor to mark the current execution position, or to let the user specify the location of a breakpoint. Integrated tools increase productivity and functionality providing shortcuts for the edit - compile - execute cycle and, if the compiler detects an error, they can open an editor window and highlight the corresponding location in the source code. While the PHP tools such as Eclipse and PHP Edit go part way to achieving some of the benefits of a unified user interface, none can compare to the interface that is offered by Visual Studio.NET.
Kolling et al. (2003) provide an excellent explanation of the difference between an object-oriented language and a language that uses object orientation. Many software development environments evolved over time, developed originally for non-object-oriented languages and were later adapted for object-orientation. This adaptation, however, usually fails to exploit the possibilities that come with object-orientation - they are, in their character, still structured (not object-oriented) environments. Sean
Hull (2006), a PHP developer, in comparing PHP and ASP.NET, admitted that ASP.NET's strength lies in its clean design and implementation. Hull claims that ASP.NET is an object-oriented programmer's dream, with language flexibility, and with sophisticated object-oriented features support. In that sense, it is truly interoperable with programmers' existing skills. While there are numerous environments for object oriented languages, few of them are truly object-oriented environments. PHP is one of those languages that claims to be object-oriented, but many argue that it lacks some of the features associated with object orientation (Parker, Ottaway & Chao, 2006).
One of the main motivations for object oriented programming was the facilitation of reuse of existing code. Kolling et al. (2003) suggest that in a teaching environment, we must aim at giving our students a realistic impression of the task of programming. We should try to encourage good programming habits and the reuse of existing code. The development environment should provide a class browser that lets a student find out about existing library classes and it should also have the ability to build new libraries of classes that the student has written. Having been built on the .NET framework, ASP.NET encourages these good programming practices. While there are a large number of prewritten PHP classes available on the web, class libraries are not built into PHP development environments.
The programming environment should support techniques that are known to support learning of programming concepts, such as interaction and experimentation (Kolling et al., 2003). ASP.NET with its built-in intelli- sense features allows programmers to refer directly to objects that have been created from user defined classes. The built-in debugger allows programmers to step through code and see the effect of changing the values of variables on control structures. The PHP tools like Eclipse and PHP Edit provide primitive debugging functionality, but they do not allow programmers to interact directly with user created classes.
Both the ASP.NET and the PHP environments allow groups of students to work simultaneously on different parts of a system under development. Only the developers' version of ASP.NET provides some form of controlled system integration and some form of group communication mechanism.
Being an open source product, PHP is freely available and tools like Eclipse and PHP Edit are provided without cost. ASP.NET, being a Microsoft product, is widely available but does incur a financial burden. Since the majority of tertiary institutes in New Zealand participate in the Microsoft Academic Alliance programme, the cost of the Visual Studio development environment is included within the programme. In some institutes, the alliance programme allows students to be given copies of the development suite for home use. To encourage the uptake of the .NET framework, Microsoft has decided to release Express editions of Visual Studio for free. The Express editions are cut-back working versions of the fully licensed editions, allowing anyone to develop working applications. The Express editions do however lack some of the more sophisticated functions available in the full-edition.
Prior to the introduction of ASP.NET the programming environments of ASP and PHP were very similar. If an adoption decision was made solely on the strengths of the programming environment, then ASP.NET would now be an obvious choice. The introduction of the .NET framework and the addition of web development to the Visual Studio suite has placed the Microsoft development environment well ahead of PHP.
The recent release of CodeGear's Delphi for PHP, described as a rapid application development (RAD) visual PHP development environment, suggests that many of the features available within Visual Studio will be available for PHP developers. Delphi for PHP offers a drag and drop environment for component-based PHP web application development (Krill, 2007). Delphi for PHP allows applications to be built using reusable components and it also provides developers with a tool that can be used to build rich dynamic, data-driven Web applications with rich AJAX interfaces. CodeGear's Delphi for PHP product is not an open source product and developers wishing to use the platform have to pay a licensing fee. Unlike Visual Studio, Delphi for PHP is not available in a cut-back version for free.
In an attempt to reestablish which web development environment should be adopted for the third year degree web application development course, 16 Wellington and 11 Napier based web development companies were asked to complete a written survey. The survey asked companies to indicate which web development environments they supported. The survey requested the companies to indicate the number of employees involved in web development and the skills required of prospective employees. The survey also asked companies to indicate if they had any plans to change environments in the future and gave the opportunity for respondents to add any information they thought might be useful to assist EIT in its web development environment identification process.
Of the 11 Wellington and 10 Napier companies who responded to the survey, 47% indicated that they developed in ASP.NET, 43% indicated that they developed in PHP and 10% indicated that they developed in both environments. Only one company indicated that they developed web sites in an alternative environment, and that company offered support for Cold Fusion, ASP.NET and PHP. Compared to the survey conducted in 2002, the number of companies developing in PHP has reduced and the number of companies developing in ASP (now ASP.NET) has increased. Eight out of ten of the companies surveyed in Napier develop in PHP compared to 45% of the Wellington companies that were surveyed. This was explained by one respondent who indicated that most corporate clients preferred ASP.NET web sites while smaller clients had a preference for sites developed in PHP.
The average number of employees employed in a web development role was six, with a total of 98 employees among the 21 companies that responded. The smallest company employed two developers and the largest company employed nine developers. When asked to indicate the skills expected from a prospective employee, the majority (15 out of 21) indicated that they would employ staff with either ASP.NET or PHP skills, stating that they looked for programming expertise rather than language-specific skills. Of the remaining six, four wanted employees with PHP skills and two wanted ASP.NET expertise.
When asked about plans for the future, 17 companies indicated that they had no plans to change the environments supported. Three indicated that they were keeping an open minded view and that they would move to ASP.NET if customer demand increased. None of the respondents indicated that they would move from ASP to PHP.
Seek IT is New Zealand's most popular IT employment site; the number of IT vacancies has averaged 3,300 over the eight weeks before this paper was written. In an attempt to establish which web development environment offered the best employment prospects, the site was reviewed over an eight week period to establish the number of ASP. NET vacancies compared to the number of PHP vacancies. The average number of ASP.NET vacancies was 780 while the average number of PHP vacancies was 437. Compared to the situation in 2002, there has been a growth in ASP related jobs and a relative reduction in PHP jobs. In terms of prospective salaries, an investigation of individual vacancies suggested that ASP.NET developers were likely to be paid up to $7,000 more than their PHP counterparts.
Current literature suggests that while there are a number of web application development environments, PHP and ASP.NET are the two most popular. In a survey of companies in the Wellington and Napier regions only one company indicated that it offered customers anything other than PHP or ASP.NET. Comparisons of the two environments, in terms of suitability for teaching programming, suggest that currently ASP.NET provides a more feature-rich learning environment than PHP. However the introduction of CodeGear's Delphi for PHP is likely to provide a feature-rich alternative for PHP developers.
The survey of web developers suggested that ASP.NET was increasing in popularity at the expense of PHP. The reason given for the increasing popularity of ASP.NET included the feature-rich development environment offered by Visual Studio and the speed at which an application could be developed in ASP.NET compared to PHP.
The review of the SEEK IT employment site, suggested that the number of ASP.NET vacancies was increasing, while the number of PHP jobs was holding steady. The number of ASP.NET vacancies was approximately twice the number of PHP vacancies.
A search of the Web indicated that compared to 2002, the number and quality of free resources available to support the learning of ASP.NET was considerably higher than those that were available to support ASP. The attitude of Microsoft also appears to have changed, with Microsoft now offering free development environments for most of their popular programming languages. Web Developer Express is a feature-rich ASP. NET development environment that provides many of the features of Visual Web Developer, and is available for free download at the Microsoft site. The Microsoft site also offers a number of tutorials and online texts that help novice developers improve their skills. Downloadable video tutorials are also available at Learnvisualstudio.net; the videos provide high quality explanations of how to build websites using ASP.NET.
The introduction of ASP.NET and its associated development tools has significantly changed the web development environment both in New Zealand and overseas. In terms of program development environments, PHP has fallen behind. The drag and drop development environment of Visual Web Developer enables sophisticated database-driven websites to be developed in times that are significantly less than those required to develop similar sites in PHP.
Informed by the literature review, the responses to the web developer surveys and the results of the vacancy figures from the SEEK IT, a decision was made to change the programming environment for the web application course offered at EIT from PHP to ASP.NET. In five years the wheel appears to have come full circle. Web application development has moved from ASP to open source PHP and back to ASP.NET.
Once the decision was made to move from PHP to ASP.NET, Visual Developer 2005 was installed and tested in the software laboratory and it was found to operate without too many technical difficulties. The only concern was ensuring that students could seamlessly integrate ASP.NET with MS SQL, and once an MS SQL server with a domain available campus wide was installed, testing was conducted to ensure that the environment operated as expected.
The integrated development environment and the drag and drop nature of application development using Visual Studio meant that dynamic web applications could be built with little programming knowledge in a very short timeframe. Students could build a secure feature-rich dynamic web site with only four to five weeks instruction. A similar site in PHP would have required at least 10 weeks instruction and students would have struggled with the concepts. The rapid development cycle that Visual Studio allows, means that more time can be spent learning the more complex aspects of web development, like session management, dataset manipulation and payment processing. The student assessment was able to include all the features of a secure shopping cart, including secure transaction processing and product manipulation.
After a semester of using Visual Studio with ASP.NET and MS SQL to teach web development programming, student reaction has been very positive. Students that would have struggled with the knowledge of programming required to develop a simple PHP site are able to develop quite complex sites in ASP.NET.
The strong object-orientated nature of ASP.NET made it difficult to teach web-based programming without explaining OOP programming techniques. Students new to the concepts of OOP found it difficult to grasp them and struggled when asked to use or create classes within their applications.
When surveyed, 16 of the 24 students who participated in the course stated that they appreciated the opportunity to develop in ASP.NET. Four students stated that they would have preferred to have been taught using a PHP platform and two indicated no preference.
Three of the students who participated in the course had already graduated and were working as web developers locally. They had convinced their employers to allow them to attend the ASP.NET offering of the course. All three students were impressed with Visual Studio and the ease of development compared to PHP.
Six of the students went on to undertake a capstone project in the following semester. The project provides degree students the opportunity to apply the skills they have learnt on the degree programme in a business setting. All six students worked developing websites for local Hawke's Bay companies. Only two of the businesses elected to have their sites developed utilising an ASP.NET environment, the others requested PHP which meant that four students had to learn how to develop in PHP so that they could provide their clients with a solution that met their needs.
The experience of the capstone project students supported the finding of the employer survey which suggested that smaller development companies prefer to develop using the lower cost PHP amd MySQL environments. Since the majority of web development companies in Hawke's Bay are smaller than those found in the main centers, they have a preference for graduates that have PHP experience rather than ASP.NET experience.
Having changed the teaching environment from ASP to PHP and then from PHP to ASP.NET, the writer continues to face a problem that is common to most of the smaller provincial centers. The smaller sized local developers require graduates with PHP skills, while the larger development firms in the main centers request graduates with ASP. NET skills. Selecting ASP.NET as a single teaching platform for web application development does not meet local developer needs but it does meet the needs of the main center developers. Perhaps the solution lies in using both platforms, allowing students to select either a single platform or both.
The Information Technology environment is one that changes rapidly and educationalists need to constantly review their teaching platforms and methods to ensure that they are current and meet the needs of both industry and students. Such a review must include a review of current practice in terms of current literature and an analysis of the needs of industry.
This paper outlines the steps that were followed to attempt to maintain the currency of a third year web application development course. The review of web development environments and the survey of employers indicated that the web development scene had changed over a relatively short timeframe and that the course delivery methods needed to be changed. Initial indications are that the decision to change was appropriate and student reaction after six weeks has been positive.
The adoption of PHP by Delphi and the release of ColdGear's integrated development environment based on PHP and Delphi, may have a significant impact on the industry. The popularity of Ruby on Rails and the support that it has gained from industry suggest that it may also have a significant impact on the industry in the near future.
For institutes in the smaller centers who are providing graduates for the local community as well as the main centers, the conflict between local needs and national needs will always create tension. Having delivered the course using ASP.NET and seen the difficulties created by expecting students with ASP.NET skills to work with local clients who want a PHP solution, the author has concluded that there is no simple answer. Perhaps the best solution is to be aware of the web development platforms in demand and offer students a choice which platforms they use for the course.
In order to ensure that the course remains current and provides students with the skills that industry requires, a watching brief will need to be maintained on the web development industry. It took five years before the need for change was identified, next time it may be less.
Corich, S.P. (2007). From Microsoft to open systems and back. In S. Mann & N. Bridgeman (Eds.), Proceedings of the 20th Conference of the National Advisory Committee on Computing Qualifications (pp. 59-64). Nelson: NACCQ.
Garrett, J.J. (2005). Ajax: A new approach to web applications. Retrieved March 16, 2007, from http://www.adaptivepath.com/publications/essays/archives/000385.php
Hull, S. (2006). PHP and ASP.NET go head-to-head. Retrieved January 16, 2007, fromhttp://www.bauani.org/articles/hull06.htm.
Jazayeri, M. (2007). Some trends in web application development. In Future of Software Engineering (pp. 199-213). Washington, DC: IEEE
Jones, G. (2007). The top five technologies you need to know about in ‘07. Retrieved March 16, 2007, from http://computerworld.com/action/article.do?command=viewArticleBasic&articleId=9011969&intsrc=hm_ts_head.
Kerner, S.M. (2006). Is PHP the cure for the ‘broken’ web? Retrieved January 16, 2007, from http://www.internetnews.com/dev-news/article/php/3631831.
Kolling, M., Quig, B., Patterson, A. & Rosenburg, J. (2003). The BlueJ system and its pedagogy. Journal of Computer Science Education, 13(4) 249 – 268.
Krill, P. (2007). CodeGear extends Delphi for PHP, Vista, AJAX. Retrieved March 16, 2007, from http://www.infoworld.com/article/07/02/19/HNdelphiphp_1.html.
Kuchling, A . (2006). Python History. Retrieved March 16, 20 07, fr om http://svn.python.org/view/python/trunk/Misc/HISTORY?rev=51814&view=markup.
Parker, K.R., Ottaway, T. A. & Chao, J.T. (2006). Criteria for the selection of a programming language for introductory courses. International Journal of Knowledge and Learning, 2(1-2), 119 - 139.
Perrone, P.J.& Chaganti, K. (2003). J2EE Developer’s Handbook. Indianapolis, IN: Sam’s Publishing.
Wall, L., Christiansen, T. & Orwant, J. (2000). Programming Perl (3rd Ed.). Sebastapol, CA: O’Reilly.
Walth, S. (2006). ASP.NET 2.0 Unleashed. Indianapolis, IN: Sam’s Publishing.
Web Development. (n.d.) Wikipedia the free encyclopedia. Retrieved March 25, 2007, fromhttp://en.wikipedia.org/wiki/Web_development.