Web applications/technologies are becoming increasingly important. Businesses and end users can access applications over the Internet without installing any software on their computers. This results in some advantages. A big advantage is certainly that all data is stored centrally online, thus avoiding “data silos” that are difficult to merge. In this article, we describe the most important technologies for the development of such online applications. Basically one can speak between server-side and client-side programming. There are different technologies for both.
The following are used for server-side programming. This is programming that is not visible to the end user. For example, information is searched for and provided from the database, this is achieved with server-side coding.
The currently most popular web technologies are PHP, ASP.NET, Python, Java and Ruby. More on this below:
PHP: PHP is open source. This means that most of the code that is available online can be obtained free of charge and without a license. For a long time, PHP had not been used for complex programming. However, this has changed in recent years.
Especially through frameworks like Laravel, described later in this article, make the programming language interesting again. It is well known that Facebook and Wikipedia use PHP for their pages. Check out more at our Faith Blog.
- Widespread: A large proportion of the world’s websites run on PHP
- Lots of developers: PHP developers can be found all over the world
- Mature: The technology has been around for several decades and has therefore already been consistently tested and improved
- Not so structured: Since PHP has a lot of programmers giving their input and the programming language has evolved over the years, not everything is so structured. An overall concept, such as for Microsoft’s ASP.NET, is missing
- Performance: Many avoid PHP when it comes to programming applications that are very computationally intensive. Of course, this has changed in recent years due to the new frameworks
- Security: Since the code can be seen by everyone, applications based on this software language are a little more vulnerable to online attacks
ASP.NET: ASP.NET is more in the business web applications space. This is also because Microsoft, the provider of this technology, had a focus on establishing it as such. ASP.NET is used in many online applications. For example, Microsoft uses this itself to provide, for example, outlook.com (the online version of the popular desktop email client Outlook). Many software companies also use it to write business applications.
- Overall concept: All components of ASP.NET are well thought out and interact with each other. This is also due to the fact that Microsoft had an overall concept for this technology before it was developed
- Microsoft: Microsoft is the provider of this exciting web solution. Some components are chargeable, but you can be sure that the solution works well
- Large Applications: With ASP.NET, large software web applications can be written with very little code
- Microsoft: The fact that the provider is Microsoft is both an advantage and a disadvantage. Many programmers prefer not to work with the software of a large company, since these companies usually have their own interests
- Costs: Many of the tools provided by Microsoft, also in connection with ASP.NET, are chargeable. The software is, therefore, less worthwhile for small companies, agencies and freelancers
- Very large applications: Programming with Java makes more sense for applications that are used by several million users at the same time.
Python: Python is not used that often for web programming in my opinion. Nevertheless, it often finds its way, alongside ASP.NET and Java, in companies that use it for business applications. End-user systems are also programmed with Python. YouTube, Google, and DropBox run partly on Python, showing that it’s strong, robust, and fast.
- Easier to learn: Python is easier to learn than for example Java or C++.
- More Structured: Compared to other languages such as PHP, Python is much more structured. This also enables error-free code and faster programming
- Developed quickly: Applications can be programmed faster with Python than with other languages
- Hard to find developers: Unlike Python, developers for PHP, ASP.NET or Java are very easy to find. Even if Python is very robust and flexible. This is of little use if you can’t find a developer for it
- Experts needed: A beginner will not be able to write a good Python application most of the time. It takes experts. As already written in the first disadvantage, it is difficult to find programmers in this area. Finding experts is therefore becoming even more difficult
- Documentation: Even if the language is easy to learn. It’s hard to find good documentation for these
Java: Java is one of the tools for companies to write large business applications. It is many times harder to learn than PHP or ASP.NET. That’s why you can find experts on it. However, you have to search harder and definitely expect higher costs due to the higher salaries in this area. However, if you find good developers, you can use it to program very large, complex and high-performance web applications.
- Future-proof: Java has been around for a very long time and the chances that it will lose popularity in the next few years are more than slim
- Widespread: Java is used in most large companies. According to IDC (International Data Corporation, a market research company), 90 per cent of the Fortune 500 companies (the 500 largest companies in the world) use Java to power their business applications
- Android: Google’s decision to use Java to write its Android mobile platform further strengthened Java. A large proportion of mobile devices nowadays run on Android and thus on Java
- Developers expensive: Since Java developers are mostly employed in large companies, they usually have a very high salary and are rather difficult for smaller companies to find and hire
- Expertise necessary: Just like with Python, applications with Java can only be developed with experts. In my opinion, programming with Java is a bit more complex than with Python
- Security: Because Java is platform independent, Java is also considered less secure than other languages
Ruby: Ruby is a very popular software language for programming web application development Dubai. The Ruby Framework Rails, in particular, puts this technology in a positive light. I would say that medium to large applications can be created with it. Startups in particular have a focus on it, as it can be programmed relatively quickly.
- Web-focused: Ruby is a web-focused programming language, unlike .NET or Java, for example. Therefore, it takes into account many of the peculiarities of the Internet
- Maintainability: Ruby is easy to maintain. This also means that code, once written, can easily be maintained and further developed by a new programmer
- Speed : Applications can be created very quickly with Ruby, for which one would need longer with other languages
- Hard to find programmers: Ruby programmers are, in some cases, even harder to find than Java experts
- Scalability: Some programmers complain that Ruby is difficult to scale up. For example, Twitter started with Ruby and then switched to Java. This is not to say that Ruby was the wrong choice for Twitter, just that above a certain size, a tool like Java is a better choice
- Documentation: It is relatively difficult to find good documentation for Ruby. This also means that you have to spend more time with the code
There are so-called frameworks for all of these software languages, which make working with these languages much easier. Most of the time, these are code libraries in which many or most of the functionalities can already be found. So you can avoid programming everything from scratch, but can fall back on these frameworks.
These frameworks are particularly suitable for medium-sized to large applications that need to be developed quickly, remain scalable and are used by many users.
The most important frameworks at a glance:
Laravel is a rather newer PHP framework. It is used to write fast and light online applications.
- Lightweight: It is suitable for small companies with one programmer or a few to write lightweight applications that can also be used as business applications, for example
- Very well documented: There are very good documents and tutorials that explain Laravel in detail
- Popularity: In the last few months and years, Laravel’s popularity has increased dramatically. Next to Zend, Laravel is probably the most popular PHP framework these days
- Taylor Otwell: Taylor Otwell is the main author of Laravel. This is also partly a danger. What if he doesn’t continue the framework? In this case, the continuation would not be clear
- Very new: Since it is a very new framework, there are not many programmers working with it yet
- Security: Since it is a very new framework, the security aspect is not yet one hundred percent at the highest level. This will certainly improve enormously in the coming months and years. At the moment, however, there are security gaps
Exciting business applications can be written with ASP.NET MVC. This framework has also gained popularity in recent years. Surely that was what the manufacturer, in this case, Microsoft, wanted.
Microsoft’s MVC is well structured and scalable applications can be programmed.
- Supports Test-Driven Development: It’s relatively easy to write automated tests to verify the code
- Many developers at the same time: With the ASP.NET MVC Framework it is easy to work in large teams
- Complexity easier to handle: By dividing the application into model, view and controller, MVC applications can be programmed more easily and clearly
- Complex for simple tasks: It is not worthwhile for developers to rely on frameworks such as ASP.NET Webforms when it comes to smaller applications. MVC can be too complex for small teams writing small programs
- Knowledge of HTML & CSS required: If you want to work with the ASP.NET MVC Framework, you need good knowledge of the client-side technologies HTML and CSS
- Learning curve: It takes some time to get used to this framework
- Great community: There is a large community that uses the framework and makes other contributions (Django is open source) to it
- DRY: DRY stands for Don’t Repeat Yourself. It’s the philosophy behind Django. This means that the framework has focused on getting as much out of written code as possible. This makes it possible to produce working code in less time
- Alternative to Ruby on Rails: Django comes closest to the Rails framework for Ruby. Django is an alternative to Rails. Some developers find Django easier to use than Ruby
- Developers: As with Ruby, it can be difficult to find suitable developers
- Not very suitable for mobile: Very few smartphone applications are written with Python
- Deployment: The deployment of Django on the production server is described as rather difficult, especially by beginners
Rails are the most prominent of the Ruby frameworks. It was initially developed to build the prominent project management tool BaseCamp. Rails were released in 2004, a year before Django was officially launched, and also has a larger community than Django.
- Clean code: Like Laravel for PHP, Rails helps to create clean code with Ruby
- Larger Community: As mentioned earlier, Rails has more users than its direct competitor Django
- Inexpensive development possible: Individual software is very expensive to build in most cases. Rails make it possible to reduce the cost of such software
- Speed : If you need very fast applications, you should rely on Java
- Hosting: It is difficult to find suitable hosting for Rails. For PHP, on the other hand, it is not a challenge to get suitable and cheap hosting
- Lack of support from large companies: Oracle is behind Java, Zend is behind PHP, and Google is behind Angular. JS. Ruby and Rails lack such corporate support
In web development, not only must functions be executed, but these must also be displayed to the user as a result online in the browser. Client-side web technologies are used for this. Below are the most important of them:
HTML: HTML stands for Hypertext Markup Language and is used to display web pages. Colours, fonts, hyperlinks, etc. can be displayed and changed over it.
CSS: CSS stands for Cascading Style Sheet and helps how HTML elements are displayed on the screen. The layout can be changed here.
Database: This is a collection of organized data. It’s a collection of tables, queries, reports, views and other objects.
Database Management System (DBMS) : DBMS is a software application that interacts with the user, other applications, and the database itself to collect or analyze data. A typical DBMS is designed to define, create, query, update and administrate databases. Known DBMS are MySQL, SQL Server from Microsoft, Oracle or DB2.
Many of these tools will remain with us in the future (in the next few years), so it makes sense to acquire them.
What experiences have you done? What can you recommend?