|Author : DAOUDI Samir | Context : MSc Software Engineering – Software Engineering|
Software engineering is a field where new technologies and approaches are developed at a very fast cadence. Thanks to these technologies and approaches we’ve seen recently important innovation and a real revolution in software engineering that makes life and business really easier, smarter and faster.
If we consider the different trends in software engineering, I personally think that the most important and revolutionary jump that this field has ever seen before is the web development trend which changed radically the way we think, analyze, design, develop and implement software-solutions.
The web solutions would never exist without the considerable effort spent in making Internet what it is nowadays as it is the host and support for these solutions. Web solutions helped the appearance of new forms of communications, business and entertainments they also opened the doors of new markets as the online advertisements, e-commerce, SEO …etc.
The impact of web solutions is considerable and we can discuss different aspects and benefits provided by these solutions. However, focusing on the impact on software development I would prefer providing a concrete example from my experience.
I worked as freelance and I was asked by lawyers office to provide them with a software that allows them to manage the daily tasks, reminders, files organization, advanced searches, managing customers, finances…etc).
I spent couple of weeks with them trying to understand the entire requirement and the business logic that should be respected and than started the development phase with C# (WinForm) and SQL Server, it took me months including the debugging and tests and finally I deployed the software for them.
I was frequently asked to fix some bugs or add features and building new versions (major or minor) involved deploying them in all workstations.
Exactly one year later, another request to develop something similar but that should be available online on the lawyers’ website as they have different offices. The analyze was mainly similar but the development was completely different (PHP and MySQL) and I was surprised how things were easy and simple to manage especially when dealing with synchronization, sharing and notifications which was a real night mare in the desktop application.
Now, the majority of new applications are developed as web applications for different reasons:
- Simplicity of deployment
- No need to install client-side components (or few), a browser is enough
- The majority of treatments and calculations are performed in the server which is generally powerful and having enough resources that might not be available in clients machines.
- Simplicity of maintenance tasks, no need to deploy fixes outside the server itself…etc.
This was just a small example of all the applications and solutions made possible and enhanced thanks to the web-development trend. However, if we consider the existing systems, I actually see more and more existing solutions switching in their newer version to web solutions.
The past several years have marked a significant ‘framework boom’, and almost everyone involved in web application development these days is a part of a new generation of ‘framework boomers’. Web development frameworks help jumpstart your application by immediately delivering the core foundation and plumbing needed to quickly turn your ideas scribbled on the whiteboard into a functional and production-ready code. With all of the common features expected from web (W.Jeffrey, 2010).
New possibilities have been developed as the cloud computing which really turns computing to another dimension. I personally imagine that later, the actual computers that we are actually using will just be a sort of terminal with Internet access and browser and few giga bytes of memory and disk space and everything we need (data & applications) will be stored in huge, powerful interconnected servers forming the cloud.
Not only the architecture of software solutions has been affected by the web development trend, but also the user interfaces (UI), we are facing a real revolution in user interfaces concerning the web applications and web sites with rich media content a high level of interactivity. “Europe is continuously spending tens of millions of Euros to fund Service and Soft- ware Architectures research projects that aim at facilitating the development of inter- active service-based systems through user-friendly software platforms” (D. Florian & F. Michele, 2010).
Daniel Florian & Frederico Michele , “Current trends in web engineering”, 10th International Conference on Web Engineering, ICWE 2010 Workshops, Vienna, Austria, July 2010. ISBN : 9783642169854.
W.Jeffrey “Agile Web Application Development with Yii1.1 and PHP5”, Olton Birmingham, GBR: Packt Publishing Ltd, 2010. p 7.