Why this is the time to move your Delphi legacy applications to the web

In the last couple of years, I have had a ton of queries from companies asking questions about the strategies for moving to the web. In this article, I will try and address those questions and tell you why this is the right time to move your Delphi apps to the web.

Way back in 2015, I remember reading an article from McKinsey. They said that companies that didn’t have a ‘mobile first’ strategy will not survive. What was the ‘mobile first’ strategy? In a nut shell, it means that companies needed to make sure that their application / service was accessible via mobile apps. This was largely derived from the fact that the trend at that point of time was clearly pointing to an explosive growth in people using their mobile phones to access the Internet. The laptop / conventional desktop computer was then becoming a the second choice for getting information.

The funny thing is that the article didn’t speak of anything about the web. May be because the web part of it was so ubiquitous that they felt that most companies are already there or on their way of being there. If that’s the case, they were right. The move to web applications was almost assumed for every company. Yet, you and I both know that’s not the case. We know that there are companies who still develop and maintain applications running on native OS, designed to work over the intranet (rather than the Internet), and may be for a good reason. I am not here to judge their decision. However, as time goes by, its becoming amply clear that organisations need to have a web strategy in place.

World is demanding inter-connectivity

Unless you are running a top secret application with top secret data, there are good chances that someone in the value chain requires to look at business information outside the premises of your office.

Simplification & Cleaner Code

You will realise that ‘webifying’ your application forces you to simplify your code base. Suddenly, cross referencing units from any where, having global variables, etc are no longer an option.

Business Process Oriented Thinking

The moment you decide to start writing web APIs for your application, you will somehow be required to make everything modularised. This means that you will be forced to think in terms of business process, instead of procedural development. This is because, essentially, web APIs by their very nature separate your business process from the UI.

Services means auto implementation of multi threaded application

This may sound corny, but trust me, it’s not. When you start writing web APIs, you will quickly realise that you don’t have to pack them all in a single executable. You can create multiple applications of which each application will expose certain APIs. And when you create multiple applications, you are automatically creating multiple threads… which is almost the same as writing a multi threaded application but without the complication of dealing with threads! Yes, it’s that simple!

Delphi ecosystem has really rich set of tools to help you achieve that

When Delphi first came out, it received a standing ovation from the crowds that saw the superb functionality of RAD implemented. It clearly was way ahead of it’s time then. Today, Delphi’s ecosystem offers fantastic tools to easily create web APIs without sacrificing the time invested in writing business logic. Delphi offers both, client and server side component based development so that you can focus on packaging your business logic in the new framework and not worry about the under-the-hood stuff that helps you do that.

Check these options out for creating REST APIs in Delphi

  • Datasnap – the easiest way to create out of the box REST API. Great if you are just beginning to understand the concept. Very flat learning curve… you will be up and running in minutes!
  • Delphi MVC Framework – One of the most advanced open source frameworks for Delphi to create REST APIs. Has tonnes of features and is being actively developed. Very flexible with adding your own middleware for framework extension.
  • RAD Server – A home grown solution from Embarcadero that enables you to write REST applications. Very efficient. It comes with loads of features that provide analytics, charts and security using Interbase as its database.
  • MARS – The truly component based open source framework that makes a Delphi database developer feel at home while developing REST based APIs. MARS has a rich set of client components that interact with the server side.
  • mORMot – Again, an open source library that enables Delphi developers to write REST APIs. mORMot has been around for quite sometime. The library has rich set of utility functions and is known for its super speed. Has a steep learning curve though

Those are just the one on top of my head.

The point I am making is…

… that it is much easier than you think to move you applications to the web using Delphi. Do you require some additional skill sets? No. If you know how to develop in Delphi, you can pretty much write the APIs. Can you get by learning nothing new? No.. of course not. You do need to familiarise yourself with some conceptual understanding of how things work on the web, JSON which is not that hard. After that… its pretty much the same thing.

7 Replies to “Why this is the time to move your Delphi legacy applications to the web”

  1. Most of the servers on the internet are linux with PHP. I will write a great application and I have nowhere to put it

  2. Most of the servers on the internet are PHP on linux. I will write a great application and I have nowhere to put it

  3. Dear Vimovyaa – this is serious questions about internet servers. I`m a delphi developer and it is important.

  4. Hi, but you are only talking about the server backend site… company are also needing frontend development(client site).

    And then we get the same answer as ever… there is TMS Webcore, intraweb etc.

    The problem with does framework is that you have to make two project apart or buy additional component.. there are already many inexpensive frameworks ionic, fluter, that you can compile once and have the output on web, android, iOS, win.

    Embarcadero should buy tms or azoted and incorporated their technology in a rapid way.

    I use on my mobile development rest service… yes! But know I need a website… so the answer would be to begin from zero developing it? Delphi fmx is a great tool, but it need to address the problem that we need to just select output web and the we get our website.

    Thanks

    1. Hi Alv,

      All the points you made are good points. But client and servers have always been separate regardless of where they are published. In case of PHP, you have the server side code that produces your data and you will need HTML/CSS knowledge if it needs to be rendered on the browser.

      Apart from TMS WebCore and AtoZ, there are the following:
      1. UniGUI
      2. Smart Mobile Studio
      3. Raudus
      4. Quartex Pascal

      These tools are wrappers that finally generate HTML/JS/CSS when compiled.

      The article was aimed to bring to people’s attention that they could write microservices WITHOUT loosing their existing code which, I personally think, is extremely efficient as well as productive.

      1. I tried most of the ORM/REST frameworks and in my experience mORMot is the most stable and fastest, with the smallest memory footprint.

        The learning curve is not steep in my opinion. Documentation is great and huge. It might look complicated if you try to read it all. Just play with the examples.

        For the frontend uniGUI is unbeatable if you need a web application.

Leave a Reply

Your email address will not be published. Required fields are marked *