Delphi

How To Use Cross-Platform Programming Languages: Expectations vs Reality

Cross-Platform languages are not something new. For more than two decades, cross-platform development has been with us, but each programming language and technology evolved differently, adopted different architecture, and offered even more choices to consider.  Today we are going to talk about different cross-platform programming languages, why they are good and what are their disadvantages and, through this learn how to choose and use the right cross-platform programming language and frameworks. What computer languages are available for cross-platform programming? Most programming languages provide at least some form of cross-platform development. By this we mean that with one codebase – the program’s source code – you can target most major operating system and device platforms. They have their specific UI framework and architecture that can or cannot directly utilize hardware features and platform-specific functionalities. Here are the top cross-platform programming languages C++ Java Delphi C# JavaScript Dart It is not easy to compare these languages, but they all have great features and problems. For instance,  Java has a huge third party library pool with a high number of users but requires its Java Runtime Machine. JavaScript is everywhere but not secure & efficient as compiled languages. Microsoft’s C# has evolved so much, but its cross-platform frameworks are not the happiest. Dart with Flutter is getting attention because of its widget powered UI solutions for developing client-optimized apps. Still, it lacks third-party libraries and has problems with iOS development and is not an excellent choice for building server-side apps. C++ is a great choice, but it requires higher knowledge and practice about the ecosystem to develop apps fast. Delphi provides the fastest time to market option with high productivity when creating cross-platform native applications but has low open-source projects.  How to choose a cross-platform programming language? If you can efficiently utilise hardware components and system-specific features, that is a good sign, like accessing the camera, gyroscope, or OS-specific features.  Cross-Platform is one of the ongoing arguments in the software development industry. It is also noteworthy that Native and Cross-platform development is continuously evolving. While Native app development goes with a much more complex process, it stays true to the target platform, namely Windows, macOS, Linux, iOS or Android. To point out that these languages utilise a framework for building cross-platform responsive user interfaces and provide interfaces where you can use system provided APIs through them. Applications built with these frameworks should behave like native apps; if it does not, it breaks the user experience, leading to the decline of users from your product. For instance, applications built with web-powered components lack several ways that kill the native features, and it gets even hard to work with device hardware. What is currently happening in cross-platform development? Mobile market share is enormous, and most cross-platform languages target iOS and Android with their frameworks. Moreover, web apps can also do the job of a mobile app using technology like progressive web apps (PWA), which are web apps that act like a native apps albeit with some disadvantages such poor battery life and an inability to access many of the device’s hardware features.  One of the latest frameworks for building cross-platform applications is the MAUI framework by Microsoft. It is a .NET Multi-platform App UI framework for building applications with C# and XAML. It is the […]

Read More

These 3 Tools Provide Powerful Solutions For Web Development

In this video, we will learn not just one but THREE powerful solutions for web development in Delphi. The webinar will highlight three popular frameworks that represent three different ways of coming at developing for the web. These include TMS Webcore, IntraWeb, and DelphiMVCFramework. While Delphi already comes with powerful tools for web development, these popular frameworks can help you build more compelling web applications that deliver both the functionality and performance that once required native windows development. Joining this webinar are Dr. Holger Flick of TMS Software, Jackson Gomes of Atozed Software (IntraWeb), and Daniele Teti of bit Time Professionals (DelphiMVCFramework) to explain their respective products. TMS WEB Core is a cross platform solution for web development using Delphi TMS WEB Core is a web development tool that allows you to create web client applications from Delphi using RAD development methodology and a component-based framework. In this video, Dr. Holger Flick will introduce us to the framework and how to employ Delphi in web applications. He will also highlight some of the powerful and easy-to-use features of TMS Web core that allow you to build web applications surprisingly easy and fast. IntraWeb allows programmers to produce web apps using Delphi Jackson Gomes will discuss the advantages of using IntraWeb in Delphi. He described IntraWeb as the VCL equivalent for the web. It is an equally powerful framework for building web apps in Delphi with the goal to close the gap between Delphi developers and web development. The video will also demonstrate some of IntraWeb’s new features including HTTP.sys, IWreCaptcha Component, Intraweb Certicifate managers, and as well as the things we can expect from their upcoming IntraWeb 17 edition. Do you know how the DelphiMVCFramework can help your web app development? The DelphiMVC Framework is mainly designed to be a powerful and easy-to-use Open-source framework for web solutions. According to Daniele Teti, the framework is currently the most popular Delphi library on GitHub today. Interestingly, this framework supports RESTful and JSON-RPC APIs development. In this video, Daniele will briefly show how to create some kind of APIs in Delphi using DMVCFramework. While these frameworks are all designed for web development, each of them is distinct in its own way and you just have to find the right framework that provides the web development solution that you need. To learn more about these powerful web frameworks, feel free to watch the webinar below.    

Read More

20 Fun Facts About The Best Low Code Platforms

Businesses are growing, and new challenges are rising. On the other hand, there is pressure to reduce costs by automating the tasks. The best solution is to lean on custom applications, but it takes a lot of time and is not affordable for most businesses. But do not make up your final decision about this trend. Here we present you collections of facts and information about the best low code platforms where you can grasp a new level of information about them. Solving today’s challenges means working smarter, not harder This ever-changing digital world has new ideas and practices every day, and with increasing demand for IT, businesses are required to take their things to the next level with these innovations. But it takes lots of engineering hours and overwork. Companies are overwhelmed with different software and application requirements and getting hard to fulfil all the software necessities. This is where low-code or no-code app development comes the saving. The learning curve of low code development tools is modest. Because of this, we see all these trends around no-code development tools for creating data-oriented apps or e-commerce web apps. These more rigid solutions provide a set of blocks to create a package out of it with quite limited customization options. This has both pros and cons. Software engineers can spend most of their time creating business-critical solutions for further automation when it comes to benefits. On the other hand, by entirely relying on these pre-packaged low-code tools, you might not get the results you expect, or run into intractable issues when you need something with more customization or is incapable of scaling-up like as your needs grow. Picking the right low-code solution is as important to efficiency and future growth as is recognizing that low-code is the smart choice for you to make in the first place. What is the future of the Low-Code Market? Business insiders are talking about the future of the low-code market. According to [Gartner], by 2024, low-code application development will be responsible for more than 65% of all application development activity. For instance, most online shops and e-commerce websites are built with low-code development tools. The lower level of technical knowledge required to out together an online commerce solution using low-code techniques has revolutionized e-commerce site creation. Until the arrival of this kind of low-code solution website owners required assistance from web developers with very specific – and expensive – development skills in order to create their online shopping solutions. Now it’s arguable that a business owner possessed of only a modest technical knowledge can create a reliable and relatively secure online shopping destination. This booming industry will probably generate revenue of more than $185 billion by 2030, climbing from $10 billion in 2019 and envisioned to progress quickly. [GlobeNewswire] Of course, low-code platforms do not fill up the software developer gap but can make things better by giving flexibility for business owners to start their business online. If you really have a significant user audience, maybe you can create more customized and scalable products with the best development tools like RAD Studio. What is RAD Studio? RAD Studio is one of the best developer ecosystems. You can use Delphi and C++ with FireMonkey or VCL frameworks to create cross-platform and native applications for Android, […]

Read More

Everything You Need To Know About Spring4D Delphi Development Framework

In this webinar from DelphiCon, Stefan Glienke introduces us to the Spring4D framework and how it can take your Delphi and Windows application development to the next level. This Delphi-based framework is packed with a number of useful modules which will be explained in this video along with their actual implementations in Delphi. Spring4D is described as a great open-source library for Delphi XE and higher. This library is freely accessible and can be used for both commercial and non-commercial projects. How can Spring4D leverage and enhance the power of Delphi? The Spring 4D framework extends the Delphi RTL and is known for its advanced use of Generics and enhanced RTTI. The framework is also under active development and is practicing the so-called “Dogfooding” which means the author of the software and the team behind it is actively using the framework for their own commercial software. Spring4D also follows the principle of “Pick and Choose” so it doesn’t dictate how you have to write your own application. You simply take the useful things for your code without being forced to do things in a certain way. Spring4D contains a number of different modules including the common types like Nullable and Event, Smart Pointers like Shared and Weak, Interface-base collection types, and reflection extensions. Aside from explaining the purpose of each module, Stefan will also demonstrate how each of these can be implemented in Delphi. To know more about Spring4D and how this framework can possibly take your Delphi development to the next level, feel free to watch the video below.

Read More

How To Make Powerful Data Visualizations With Matplotlib

Did you know it’s easy to make use of some truly excellent Python libraries to super-charge your Delphi app development on Windows? Adding Python to your toolbox of Delphi code can enhance your app development, bringing in new capabilities which help you provide innovative and powerful solutions to your app’s users, which combine the best of Python with the supreme low-code and unparalleled power of native Windows development you get with Delphi. Are you looking for how to build a GUI for powerful and visually stunning data visualizations? You can build publication-quality figures with Matplotlib on Delphi. Matplotlib can be used in Python scripts, the Python and IPython shell, web application servers, and various graphical user interface toolkits (including Delphi!). This post will show you how to build a Delphi GUI app, dedicated to the Matplotlib library. Watch this video by Jim McKeeth, as a comprehensive introduction about why you can love both Delphi and Python at the same time: What is the Matplotlib Library? Matplotlib is a comprehensive Python library for creating static, animated, and interactive visualizations. Matplotlib produces publication-quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib makes easy things easy and hard things possible. Create publication-quality plots. Make interactive figures that can zoom, pan, update. Customize visual style and layout. Export to many file formats. Embedded in JupyterLab and Graphical User Interfaces. Use a rich array of third-party packages built on Matplotlib. How do I get the Matplotlib library? You can easily install Matplotlib with pip: Or, you can choose conda install, to avoid complexities, as Anaconda is known as the most trusted distribution for Data Science related tasks: conda install -c conda-forge matplotlib conda install –c conda–forge matplotlib How do I build a Delphi GUI for the Matplotlib library? The following is the user interface structure for our project: User Interface Structure for our Matplotlib4D Project. Here is the list of Components used in the Matplotlib4D demo app: TPythonEngine TPythonModule TPythonType TPythonVersions TPythonGUIInputOutput TForm TMemo TOpenDialog TSaveDialog TSplitter TImage TPanel TLabel TComboBox TButton Navigate to the UnitMatplotlib4D.pas, and add the following line to the FormCreate, to load our basic matplotlibApp.py: Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + ‘matplotlibApp.py’); Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + ‘matplotlibApp.py’); You can Seamlessly Load the Matplotlib App Python File Inside the UnitMatplotlib4D.pas File. And make sure that the matplotlibApp.py is in the same directory as our Matplotlib4D.exe or inside your Delphi project folder. How to visualize data using Matplotlib on the Delphi app? Highly recommended practice:  1. This GUI was created by modifying Python4Delphi Demo34, which makes us possibly change the Python version in the runtime (this will save you from the seemingly complicated dll issues). 2. Add “Jpeg” to the Uses-list at the top of our UnitMatplotlib4D.pas code. We have to do that, because otherwise, Delphi can not understand the JPG format. With this correction, it should work. After that, the above change should look similar to this: Import Jpeg to Your Uses-list. And we can load JPG images into our TImage. 3. Set up these paths to your Environment Variable: C:/Users/ASUS/AppData/Local/Programs/Python/Python38 C:/Users/ASUS/AppData/Local/Programs/Python/Python38/DLLs C:/Users/ASUS/AppData/Local/Programs/Python/Python38/Lib/bin C:/Users/ASUS/AppData/Local/Programs/Python/Python38/Lib/site-packages/bin C:/Users/ASUS/AppData/Local/Programs/Python/Python38/Scripts C:/Users/ASUS/AppData/Local/Programs/Python/Python38 C:/Users/ASUS/AppData/Local/Programs/Python/Python38/DLLs C:/Users/ASUS/AppData/Local/Programs/Python/Python38/Lib/bin C:/Users/ASUS/AppData/Local/Programs/Python/Python38/Lib/site–packages/bin C:/Users/ASUS/AppData/Local/Programs/Python/Python38/Scripts 4. Creating a GUI for Matplotlib means that you will use Matplotlib outside the “normal” command-line process. You need to add these lines to all your Python code: import matplotlib import matplotlib.pyplot as […]

Read More

Embarcadero InterBase 2020 Update 3 Released!

I’m delighted to announce that today Embarcadero has released a new version of its InterBase flagship database engine, InterBase 2020 Update 3. With this release, the company continues to improve the product’s quality and usability. UX Enhancements The most visible improvements are the user interface enhancements in the InterBase Manager utility for the Windows platform. In this release the InterBase Manager offers high-DPI support, and additional information like the version number and the current port in use, in an improved overall layout. As part of the UX improvement we have changed the fonts, colors, and overall look and feel, making these forms more modern. Noticeably, InterBase Manager now uses the PerMonitor V2 Windows UI model, and that has been migrated to and compiled with the latest version of Delphi.           The InterBase Manager window in InterBase 2020 Update 3 (on the right) compared to previous versions (on the left) In addition, the InterBase Server and Guardian property sheets have an improved UI (for example, the interface includes the entire path of the referenced folders rather than a trimmed version) and they are also made available when the database runs as a Windows Service.                           General Improvements Besides the UX enhancements, InterBase 2020 release 3 includes some additional features:  Expression Index can now be used to optimize query filters using STARTING WITH and LIKE predicates matching input expressions In IBConsole, the Object window and WISQL window now execute SELECT statements in precommitted reads mode, so they don’t stick to the transaction in the database. With this change, normal GC and sweep of obsolete versions will not be held back. InterBase 2020 Update 3 is also certified for use on more recent versions of the Windows operating system, Windows 11 and Windows Server 2022. Quality Work The release also addresses customer support cases and internally found quality issues, listed in the Doc Wiki product documentation. ADO.NET Support for Change Views As part of the improvements to InterBase, the team has also added Change Views support to the ADO.NET driver. For more information on ADO.NET and Change Views, refer to the ADO.NET documentation, or read the announcement blog post at https://blogs.embarcadero.com/interbase-ado-net-driver-update-enhances-visual-studio-support/.  The new ADO.NET driver is available on GitHub and NuGet, as it is not part of the regular product installation. More Information You can find more information on InterBase and the 2020 Update 3 at the following links: If you are an existing customer, the new version of the product is available on https://my.embarcadero.com, otherwise you can download the trial version at https://www.embarcadero.com/products/interbase/developer/free-download 

Read More

How To Build Python Applications For Android Using DelphiFMX

This video is a continuation of the development of applications in Python using the Delphi GUI frameworks. Delphi and Python are two powerful programming languages that are not just ideal for windows application development but also for other platforms. Previously, Jim McKeeth introduced us to Delphi VCL for Python Module which gives developers the ability to take the powerful and mature GUI frameworks of Delphi’s VCL and use them in a Python coding environment. This time, the webinar will focus on another module, the DelphiFMX4Python which supports building Python applications for Android using the FireMonkey GUI library. How to build an Android App in Python using the Delphi FMX library module This webinar almost shares the same agenda as the first video where we build a functioning application in Python using Delphi’s powerful GUI library. However, instead of Windows-native VCL, this session will focus on Delphi’s cross-platform Firemonkey framework using the Delphi FMX module. Firemonkey takes advantage of GPU libraries to provide a hardware-accelerated, rich, user interface that is fast and looks great across multiple platforms. This library is compatible with Windows, macOS, Android, iOS, and Linux. The main course of this webinar will focus primarily on Android where Jim Mckeeth will demonstrate the process from installation to Android deployment. Aside from basic samples, the video will also show how you can take your Android app further by combining the strengths of Delphi and Python. The webinar will demonstrate how surprisingly easy to customize the Android app using the pre-built android application where all the source code is already available. It will also tackle how the Python4Delphi library can serve as a bidirectional bridge that allows you to develop parts of your app in Delphi and other parts in Python, merging both languages into a single cohesive solution. To learn more about DelphiFMX for Python, feel free to watch the video below. 

Read More

How to Supercharge Your Windows App Development Productivity

Whether you are working on a small software or a huge windows app development project, the process can be tedious, and it will surely consume lots of your time. Interestingly, there are many possible ways developers can do to boost their productivity. In this video, Jim McKeeth will share every possible tip and trick to supercharge your development productivity. With the help of some Embarcadero MVPs, Jim managed to compile the ultimate guide to effectively boost your productivity in developing software. The tips and tricks to supercharge your productivity One of the core tips shared by McKeeth in this webinar is to use Delphi above any other programming languages. Delphi is designed to provide an easy-to-use and easy-to-learn development environment allowing you to get things done quicker. He also encouraged developers to practice those simple yet often overlooked coding techniques to complete their work relatively faster. These include those keyboard shortcuts and other surprisingly effective tips from Alister Christie (Code Faster in Delphi). He also encouraged developers to utilize the use of component libraries because it is far more productive, safer, and faster to use those thoroughly rested libraries than using their own code. David Cornelius also suggested establishing an Environment consistency when coding while Bruce McGee encouraged automating builds using MSBuild. Embarcadero MVPs like Ian Barker encouraged the use of the so-called Pomodoro Technique to help you focus your efforts on timed chunks of work. Dalija Prasnikar, on the other hand, came up with her own list suggesting that a developer should learn how to reduce distractions and focus on work they know they can do at a given moment. Aside from the aforementioned techniques, the webinar will also share notable software and frameworks that you can use to supercharge your development productivity. These include the use of PyScripter, UltraEdit, and frameworks like Router4D, Safety4D, Bind4D, Simple ORM, Typora, IDE Visualizers, and Delphi Parser, Invoke, Everything (fast engine to search over your drives), HTTPie, and more. Feel free to watch the webinar below to learn more.   

Read More

A Beginner’s Guide To The Best Low Code Platform

What is the Low-Code, No-Code Movement? As a programmer/developer or an engineer it’s not long now before you will see advertising and articles about no-code or low code development technologies or micro-services available in the market. A quick web search for “low-code development tools” and you will discover hundreds of different micro-tools that can help you build a whole store web app or any other e-commerce platform by connecting and integrating dozens of different micro-tools. But which is the best low code platform? In this article, you can find mature and stable technologies offering a low-code development platform yet still allowing you, the developer, 100% control of every aspect of the finished app and access to the full source code which you can customize – if you wish – in any way you want Are all low-code development platforms the same? Very definitely not. If you have been programming in a complex way and enjoying and suddenly someone says “hey, I can create a complete e-commerce store web app without writing any lines of code” then it feels a little like they are not a ‘genuine’ software developer. Developers write code, don’t they? Lots and lots of code. But when you think of it from the general point of view, they are developers, precisely non-coding developers. They solve problems and automate the job with pre-built micro-services.  Does this mean that this automated no-code solution will make developers who actually write code obsolete? Well, no. Lots of the no-code solutions out there offer what is in effect the customization of a set of standard features in a ready-made app. The apps stay within an online walled garden and, typically, the developer has no access to the source code and must pay a monthly fee to keep the app active and working. As soon as you stop paying your fee the app ceases to work. With those kind of solutions the developer never has access to any code at all or if they do it’s generally only a ‘slug’ or area in which to type in custom code. The paradigm is for you NOT to have the full source code, ever. In fact these kind of online behemoths are actually so heavily dependent on the cloud-based microservices they use to enable the app’s functionality that they couldn’t provide the developer with source code even if it was decided that this was a good idea. It’s not only part of their business model, it’s actually not even feasible. There are better solutions which give the control of the apps back to you and yet still offer a low-code/no-code way of creating software applications. The best solution is one which leverages online services and low-code solutions while retaining full control at the developer level. Why do low-code tools matter? If you want your product to be in the market as soon as possible, trying ready-baked cloud services could be a great choice rather than building everything from scratch. For instance, APILayer provides dozens of different neatly packaged services that you can easily integrate into your platform to handle Or you can look at components like CData with FireDAC. CData is a low-code data integration component set. You can quickly build applications that read and write live data from popular on-premises and cloud data sources with RAD Studio. Take […]

Read More

What is Delphi’s DNA

I was chatting with someone who was less familiar with Delphi. He asked what is it about Delphi that makes so many people continue to love it. I thought I would share my answer and see what everyone else thinks. Developer productivity – When Delphi was first introduced it was going head to head with Visual Basic in getting things done fast, and most of the time Delphi was faster for getting things done, and the rest of the time it was still really fast. That continues today. I’ve done presentations for people and they blown away with how fast I can do things with Delphi. Fast native apps – When it comes to app performance Delphi was way faster than VB and is competitive with Visual C++ and any other compiler out there. This is because it builds native apps that run fast. Database access – One of the original goal of Delphi was first class database connectivity. That is something Delphi continues to deliver. BDE was ahead of its time, but FireDAC is a whole new breed. And the great thing is there are so many 3rd party data access libraries to choose from, to give you just the right set of features you need. Platform API access – I remember the first time I needed to access some Windows messages and a Windows API that wasn’t exposed through the RTL. I kind of expected it to be a lot of work. I was pleasantly surprised with how easy and natural it was to add that to my program. I love that Delphi lets you work at the nice high productive level, and then reach down to “touch the metal” and access the APIs. Visual form designers – I’ll admit it, Delphi has spoiled me. I’ve checked out a number of other programming tools, and it is rare to find one that works as good. The ability to design your user interface and preview what it will look like so easily is so useful. Reliable applications – I’ve heard stories about when they demonstrated Delphi’s ability to handle exceptions and people were falling out of their chairs. I don’t know what it is about Delphi, it might just be that the developers who use it are amazing, but I am frequently impressed with how reliable programs are that are developed with Delphi. Good strong community – All the Tech Partners, MVPs, authors, trainers, and developers make the Delphi community amazing. It is always great to see all the amazing projects everyone is working on. So many people willing to help and just be fantastic. It is a great community to be part of. I made this graphic a while ago to explain why developing with Delphi was so awesome. I call it the three levels of development. The idea is each level builds on the one beneath it. The higher levels provide great productivity benefits. The great thing about Delphi is it lets you easily move between these levels. You can do so much in code, even at design time, but it doesn’t keep you at that high level. When you need it you can move down to a lower level, even to the point of writing inline assembly code on Win32. Most other development tools are stuck at just one level, or with just bits and pieces of the other levels. Delphi gives you all […]

Read More