Choosing the Web framework for Delphi/C++ Builder will no longer be a tough task for developers or companies to meet the business needs. There is plenty of resources around Embarcadero and the web about various frameworks with the pros and cons. Struggling to choose the right one for your need? Not to worry, this post will guide you through some of the available frameworks.
RAD Studio Included Server Technologies :
- Web Broker: Abstract the HTTP Server concept with concrete classes mapped to CGI, ISAPI, ApacheModules, Standalone(indy). It can maps URLs to actions, supports filters and global handlers. Get started with WebBroker.
- DataSnap is a Delphi technology that allows the development of multi-tier applications, most notably multi-tier database applications. Supports Rest, TCP/IP, HTTP/HTTPS. Backward compatible with COM/DCOM. Check out these DataSnap tutorials.
- RAD Server Loads Delphi and C++ business logic methods into RAD Server, add some users, and go. REST/JSON end-points are auto-created and managed. Access control is handled. Data storage is built-in, or you can easily connect to any popular Enterprise RDBMS or cloud service.
- SOAP Services: SOAP data is transmitted using an XML wrapper, usually over an HTTP or direct TCP/IP. Check out this article on Creating and Consuming SOAP Services with Delphi.
RAD Studio Included Client Technologies : Which includes REST Backend as a Service (BaaS) Client, Cloud Client libraries, REST Client libraries, SOAP Clients.
3rd Party Web Frameworks:
Client Focused: Pascal->JavaScript Transpilers. Write in Object Pascal and translate/Compiles into JavaScript. Creates a pure Web client Solution. Compatible with many popular server solutions.
- TMSSoftware’s Web Core Integrates into Delphi IDE. Write object pascal and design in RAD Studio, builds pure HTML & JavaScript. Works with TMS’s cross-platform FNC components. Builds a Single Page Application with a large reusable component set, including database access.
- Smart Mobile Studio (SMSC) transpiler has its own IDE uses familiar Object Pascal dialect. Compiles to pure JavaScript. Has lots of target like Node.js Tizen, console & Espruino. Has own RTL and full Visual component framework.
- ElevateSoft’s Web builder transpiler has its own IDE with components similar to VCL. Supports using native Elevate Web Builder Web server Modules. It compiles to optimized JavaScript.
Full Stack or Client/Server Focused: Framework covers the Server app and client interface. Balanced Approach good to choose when Both Server and Visually designed UI is one project. WebBroker is the core of the server for most frameworks listed below.
- AtoZed Software’s IntraWeb: Installs into IDE, Modeled on VCL, Visual Client Designer. The client was built from the JS and HTML library. Delphi UI event handlers run on servers, extensible via typescript.
- FMSoft UniGui: Installs into Delphi IDE, VCL like design and use. Provides data-aware controls, supports desktop and mobile. Allows optional javascript for client-side events and VCL like server event handlers.
- Open source Ethea Kitto2: Uses Web broker for the backend. No visual designer, make it easy to use Ext JS to build client.
Server Focused Open Source:
- Delphi MVC Framework: Rest Server built on WebBroker includes Delphi IDE wizard. Runs under Apache or ISS on Windows & Linux. Restful RMM level 3 compliant.
- Synopse mORMot: Doesn’t use Web broker, Integrated SpiderMonkey JavaScript engine for server-side business logic. ORM/ODM: Object persistence on Almost any database (SQL or NoSQL). SOA: organize your business logic into REST services. Web MVC: Publish your ORM/SOA process as responsive Web applications.
- Mars Curiosity: Lightweight Rest Server built on WebBroker, installs into Delphi IDE, Dataset support with FireDAC.
Check out this webinar replay on Delphi Web Frameworks and see the original post for more details
Hope this post give an idea on available framework and choosing the right framework for your projects.