From the blog

The Future Of Data Access Is Through Data Bindings

Delphi RTL (Runtime Library) contains a mighty expression engine, one of the foundations of the LiveBindings architecture but can be utilized as a separate engine for processing expressions. It’s this kind of low-code super-charged feature which makes you really appreciate the powerful performance boost that having decent IDE software can add to your coding experience. The LiveBindings for VCL and FireMonkey Delphi and C++ apps were introduced in RAD Studio XE2. It dramatically improved over the years as the technology matured by offering a progression of increasingly powerful features. The LiveBindings Designer lets you visually create and edit LiveBindings. The LiveBindings Wizard takes you through the steps to develop new LiveBindings expressions and make connections between existing and new components. The PrototypeBindSource provides a data source for generating sample data that you can use to get started when you do not already have data, to begin with, so later you can replace it with a natural data source. What is the Expression Engine? The Expression engine takes string expressions and evaluates them to a value. That value might be a string, an integer, a boolean value, an object, or something else.  String expressions consist of four parts: Literals Operators Properties Methods Methods further divided into method pointers and custom methods.  There are also output converters. The output converters take the expression evaluated by the expressions engine and assign it to a property of a different type.  What are Scopes in the Expression Engine? Another thing is Scope – Scope is an essential concept in expressions with LiveBindings. Scope defines the object or objects that are visible to the expression engine. When an object is in scope, its properties and methods are available in the string expressions.  There is always at least one scope, but there are often two. One is associated with the control component, and the other is related to the source component. Quite often, the control component is known as the output scope. It is the target or the expression engine. In other words, the value of the expression created by the engine is assigned to a property of the component in the output scope or control component.  The source component is often visible to the expression engine in the input expression. The input expression whose value will be assigned to the property of the control and the output expression. The direction can be bi-directional, like from Control Component to Source Component or Source Component to Control Component.  Learn more about here on documentation: Is the future of data access really through data bindings? If you have been following our articles and webinars, you know the price of LiveBindings designer. For instance, you can easily connect to any third-party REST API and show the needed data on the target control without writing code. Even more, you can make interactive and dynamic actions using LiveBindings.  This tutorial will show how to utilize the TControlList component with LiveBindings. The demo app is demonstrated by Alister Christie, one of the best-known Embarcadero Delphi MVPs. Below is a view of a relatively new visual component called TControlList. TControlList visual component is introduced in RAD Studio 10.4.2 version – it is a virtualized list control.  This new control allows the developer to define the contents by designing one of the elements of the list […]

Read More

Long-Term Feasibility Benchmarking Between Delphi And Electron

The long-term feasibility profiles of Delphi and Electron licenses are vastly different. This is related to Electron’s short history compared to Delphi’s 27-year evolution, and the difficulty of making reliable predictions about Electron’s future. In the blog post below we take a closer look at the long-term feasibility profiles of Delphi and Electron as part of an extensive benchmarking study. The “Discovering The Best Cross-Platform Framework Through Benchmarking” whitepaper evaluates two frameworks supporting multi-platform desktop application development: Delphi and Electron. Delphi Delphi, encapsulated in the Rapid Application Development (RAD) Studio IDE, is Embarcadero Technologies’ flagship product. A proprietary version of the Object Pascal language, Delphi features graphical application development with “drag and drop” components, a WYSIWYG viewer for most mobile platforms, and robust style options including platform-standard and unique palettes that provide a fully customized look and feel. Among other features, included libraries provide GUI controls, database access managers, and direct access target platform hardware and platform operating systems. The Delphi FireMonkey (FMX) framework will compile projects to native code for 32-bit and 64-bit Windows, macOS, Android, iOS, and Linux, allowing users to develop and maintain one codebase reaching most of the market. Delphi has been available for over 25 years. Electron Electron is an open-source (MIT License), Chromium-based framework that utilizes web technologies to build desktop applications on Windows, macOS, and Linux. It is developed and maintained by GitHub, a subsidiary of Microsoft. Electron combines the Chromium-based rendering engine with a Node.js server environment. As such, the user interface for an Electron application is available via HTML5 and CSS. Generally, Electron works with most Javascript frameworks such as Angular, Vue.js, and React. The HTML5, CSS, and Javascript-based technologies found in Chromium provide a rich ecosystem of user customization familiar to any web developer. Despite its relatively young age of five years, its community boasts open source packages for database access, operating system interactions, and other common tasks. 26 Benchmarking Metrics This is the eighth in a 26-part series of blog posts looking more closely at each of the individual metrics used in the study, and how Delphi and Electron each fared on these metrics. The first can be found here. Download the complete whitepaper here Benchmark Category: Functionality Functionality Framework functionality was examined qualitatively through research on the business aspects of each framework ranging from initial investment through long-term maintenance of the products created. Business functionality refers to a framework’s business suitability and impact on long-term plans. Excellent functionality allows companies to easily build custom tools or extensions, develop on a platform of their choosing, protect their source code from exploitation, and have confidence that their applications will be maintainable for decades. Benchmark Metric 8/26: Long-Term Feasibility Long-Term Feasibility: Does the framework have a history of stability, backward compatibility between major releases, bug fixes, and security updates? This metric highlights the confidence businesses can enjoy or the strategic risk they may take when choosing a framework. Benchmarking Results Delphi Score: 5 (out of 5) As a proprietary framework, Delphi requires businesses to purchase commercial-use licenses and offers optional annual updates for a fee. For this investment, users gain a stable, backward-compatible and growing framework with dedicated support teams and a 25-year history of success. The Delphi language has been growing, maturing, and expanding since 1995. It’s multi-platform desktop and mobile […]

Read More

Benchmarking Study: Development Platforms For Delphi And Electron

What development platforms do Delphi and Election support? On this benchmarking metric Electron’s flexibility puts it ahead of Delphi. In the blog post below we take a closer look at the development platforms Delphi and Electron support as part of the broader Benchmarking study and accompanying whitepaper. The “Discovering The Best Cross-Platform Framework Through Benchmarking” whitepaper evaluates two frameworks supporting multi-platform desktop application development: Delphi and Electron. Delphi Delphi, encapsulated in the Rapid Application Development (RAD) Studio IDE, is Embarcadero Technologies’ flagship product. A proprietary version of the Object Pascal language, Delphi features graphical application development with “drag and drop” components, a WYSIWYG viewer for most mobile platforms, and robust style options including platform-standard and unique palettes that provide a fully customized look and feel. Among other features, included libraries provide GUI controls, database access managers, and direct access target platform hardware and platform operating systems. The Delphi FireMonkey (FMX) framework will compile projects to native code for 32-bit and 64-bit Windows, macOS, Android, iOS, and Linux, allowing users to develop and maintain one codebase reaching most of the market. Delphi has been available for over 25 years. Electron Electron is an open-source (MIT License), Chromium-based framework that utilizes web technologies to build desktop applications on Windows, macOS, and Linux. It is developed and maintained by GitHub, a subsidiary of Microsoft. Electron combines the Chromium-based rendering engine with a Node.js server environment. As such, the user interface for an Electron application is available via HTML5 and CSS. Generally, Electron works with most Javascript frameworks such as Angular, Vue.js, and React. The HTML5, CSS, and Javascript-based technologies found in Chromium provide a rich ecosystem of user customization familiar to any web developer. Despite its relatively young age of five years, its community boasts open source packages for database access, operating system interactions, and other common tasks. 26 Benchmarking Metrics This is the ninth in a 26-part series of blog posts looking more closely at each of the individual metrics used in the study, and how Delphi and Electron each fared on these metrics. The first can be found here. Download the complete whitepaper here Benchmark Category: Functionality Functionality Framework functionality was examined qualitatively through research on the business aspects of each framework ranging from initial investment through long-term maintenance of the products created. Business functionality refers to a framework’s business suitability and impact on long-term plans. Excellent functionality allows companies to easily build custom tools or extensions, develop on a platform of their choosing, protect their source code from exploitation, and have confidence that their applications will be maintainable for decades. Benchmark Metric 9/26: Supported Development Platforms Supported Development Platforms: Can application development occur on any major operating system or does the framework IDE impose limitations? This metric indicates how a framework may hinder a team without homogenous equipment. Benchmarking Results Delphi Score: 2 (out of 5) Delphi can only be developed within RAD Studio on Windows machines. Virtualization solutions such as VMware, Parallels, and Virtual Box with a virtual Windows machine can facilitate Delphi development on other platforms. Electron Score: 5 (out of 5) Electron can be developed on Windows, macOS, and Linux. Download the complete whitepaper here

Read More

Undeniable Proof That You Need A Windows Software Maker

The primary goal for most application development projects is delivering a working product that solves the problem it’s created for. However, let’s face it, what good is a solution if no-one uses it? That’s why metrics like user growth, engagement, and brand awareness are useful for measuring the success of a project. In other words, to provide the right conditions for your project to be considered successful, you must work to achieve these sub-goals – user growth, engagement, and brand awareness – right from the beginning. This involves choosing the right platform for your application and ultimately using the right tools to build on that platform.   Here is undeniable proof that you need a Windows software maker – something which is optimized for the delivery of professional-quality Windows applications with low code or minimal code with the right combination of developer productivity assistance technology to make your life easier and optimize your time. Ideally, the “right platform” would be one with a large community of users: What better spot to fish than one that’s teeming with fish? the answer is, currently, Microsoft Windows. Since 1985, when Windows 1.0 was released, it has evolved to provide the experience most end-users have come to expect today. The large community of Windows users does seem to underline that it’s still a popular platform despite fierce competition from Linux on the desktop and Apple’s macOS. In the overwhelming majority of corporate customers, it is Windows which is still very much the operating system of choice, especially for ‘regular’ non-technical users.  1.3 Billion Windows 10 Devices According to Microsoft, 1.3 billion devices are running Windows 10. In other words, over 16% of the world’s population uses the Windows 10 operating system. Therefore, building your solution on the Windows platform means you have the potential to reach this number of devices. When Windows 10 was released on July 29, 2015, Microsoft promised to provide a platform where developers can find growing success. For many of us, that means bringing our code to a large reach. Indeed, having a user base of 1.3 billion devices and counting sets them up to make good on their promise. Today, many developers and firms are building on Windows and enjoying great success.  According to Ben Schein, Product Manager at NPR, “Seventy percent of NPR listeners use Windows devices, and we’ve seen a 50-percent increase in their listening time just since Windows 10 came out. And that was before we upgraded our app.” Also, Lois Wang, Senior Product Manager at Box, shared: “By combining the two apps in Windows 10 as a universal Windows app, it decreased our engineering overhead and increased our velocity for future iterations. We’re really excited about this.” Having said all that, it’s evident that building on the Windows platform increases your chances of success. To do so, you need a Windows software maker. Delphi is one of the market-leading rapid application development environments for Windows applications. You can build native and cross-platform applications several times faster than competing methods. Some of its features include: Single Code Base for Android, iOS, macOS, Windows, and Linux – Even you can use that logic in web apps using 3rd party tools with Delphi. Cloud aware and a wide range of database components Responsive UI and fast prototyping for mobile […]

Read More

10 Tips For Making The Best Javascript Libraries Even Better

  Ext JS is a comprehensive Javascript framework accompanied by several tools for building cross-platform web applications for all types of modern devices. It is a stand-alone application development framework with a feature-rich user interface. There are 140+ high performing components that you can use to build stunning and beautiful apps. In this guide we have put together a list of 10 useful tips to help you make the most of your application development experience with the best Javascript libraries. This blog will convince you why you should switch to Ext JS as the first choice for an application development framework. 1. Are There tools to Automatically Generate Code? If you use Sencha Architect, then you have to spend less time on manually adding code for various components. Sencha Architect includes a visual app builder that supports drag and drop of different UI components in a WYSIWYG window. You can easily and quickly build HTML5 applications through the automatic code generation feature without typing most boilerplate code. This also minimizes your chances of making human errors that occur due to manual coding. 2. How Do I Create Custom Themes? Sencha Themer allows you to style and customize themes for your app. Again with Sencha Themer you don’t have to write any code. Just use the graphical tools for styling different components. Themer includes an innovative color palette that allows you to apply various color combinations to various component states. There are also options for font management and adding web fonts from Google fonts. 3. Is There a Way to Manage Packages in the Best Javascript Libraries? If you are looking for dynamic package management, then Sencha Cmd is the right option for you. It has a complete workspace for package management that allows you to create and share packages across different apps. You can also integrate any package developed by the Sencha community into your app. For larger apps, dynamic package loading is supported to create more efficient apps. 4. Is it Possible to Share Code Examples? Now with Sencha Fiddle you can easily create and share any number of code examples and snippets. It is an online IDE, where you can get a complete view of your running example without the overhead of setting up a local environment. Fiddle 2 runs on the cloud so all you need to do is login with your Sencha Forum username and password. Once your code is ready, you can share it using the Fiddle URL. 5. How Do I Load Data Efficiently? Sencha Ext JS provides an efficient and high performing robust grid for your applications that require data manipulation. The grid has an incredibly fast processing time. It has been optimized to load and process millions of records in a matter of milliseconds. The grid also allows you to apply operations such as sorting, searching, filtering, grouping and more to your data records. 7. How Do I Export and Import Data ? The Sencha Javascript grid included in Sencha Ext JS allows you to export and import all data records. You can give your users the flexibility to export the data as a .csv, .tsv, .html, .pdf or .xls format. Check out the data import and export demo for classic and modern apps. 6. What is Sencha Stencils in the Best […]

Read More

The Intermediate Guide to Windows App Development

Windows app development is quite a large subject when you go beyond just scratching the surface. There are several different kinds of Windows app development beyond just the regular GUI application. In this article we take a look at a few of the other types of app such as Windows services, web server apps and even DLLs for Apache web servers. In Windows app development, what is a Windows Service? Windows Services are kinds of applications that run in the background. They are, most of the time are, non-UI applications. Windows services are usually registered to trigger when the OS boots and is scheduled to run in the background to execute some tasks. Moreover, Windows services can be started automatically or manually by Pause, Stop and Restart commands over Windows services. With these features in your application, you can create long-running apps that run in their own Windows sessions without interfering with other users working on the same computer.  You can easily create your service applications with Delphi and C++. This simple demonstration will teach us to make our service app with Delphi.  What are some examples of Windows Services? Windows auto-update Folder and file scanning SQL Server agent Auto checker for emails Using the Services control app, you can see and control all the available services in your Windows machine. How can I create a Windows Service using Delphi? Install the latest Delphi CE (Community Edition) and start it. Select: File -> New -> Other -> Delphi -> Windows -> Windows Service The TService class accomplishes connection and interfacing with Windows Service Manager. TService defines the Windows service we are developing like event handlers for communicating with the Windows OS. As you can expect, the service must work in the background and need to respond to messages to the OS commands independently. To do this, we need to create a new event on the TService called OnExecute. Service applications should answer the Windows ServiceController commands independently of what it is doing, so we need a background thread to do the actual work. The code above o the OnExecute event waits and handles the ServiceController commands, not real work.  Be sure to check out the official documentation on creating Windows Services using Delphi and C++ Builder. For Windows app development, what are Packages and how can I create them? Delphi has two different types of packages, runtime packages and design-time packages. Runtime packages are meant to be distributed with applications, just like DLLs, to keep down the executable size and prevent spreading duplicate code. The Delphi IDE can load design-time packages. They can contain code to register components with the component palette. Another intention is that write the DLLs that you want to share between your programs and another application in a different programming language.  Check out the official documentation to learn how to create packages and dynamic link libraries with Delphi and C++ Builder here! What kind of Web Server Windows App development can be done with Delphi? Delphi is a full-stack programming language that you can develop: Windows apps macOS apps Android apps iOS apps Linux apps Web apps Embedded apps Except for Delphi’s native frameworks and libraries for Web Server app development, there are lots of free and open-source frameworks that give you the ability to create server/client-focused […]

Read More

Windows Tools For Developers: Expectations vs. Reality

Modern application development can seem like a minefield even for experienced developers. Choosing the right Windows tools for developers that can guarantee increased developer productivity can be a seemingly overwhelming task.  In most areas of life, productivity is often correlated directly with speed. Unfortunately, some developers buy into this kind of thinking, especially during the nascent phase of Rapid Application Development (RAD). If developers complete a project in half the time expected, they are deemed productive. But in modern application development, speed does not necessarily equal productivity. Does your application meet the needs of the end-user? Is it easy to use? Is it secure? Does it contain unnecessary bloat? The list goes on and on.  Developer productivity depends on many factors, and simply being a fast developer doesn’t make you productive. If anything, It involves building applications in the most efficient way possible from an end-user perspective.  However, most Windows developer tools were built for fast application development. And although a few have evolved over the years to adapt to modern developer productivity, many are becoming less and less productive. Hence the need to define the expectations and reality of Windows developer tools.  Are Windows tools for developers generally productive? The software development industry is constantly evolving. Every new developer making their first foray into the industry will most likely be met with a new tool or framework that’s expected to help them maximize productivity – build high-quality products efficiently. Today, we have more sophisticated and “intelligent” Windows tools that would basically write, debug, and compile large swathes of code for you if you ask them to. Hence, helping developers produce more code faster. Unfortunately, some developers misconstrue this as productivity. However, in reality, writing more code can stifle productivity. And it begins with picking and constructing your toolchain carefully, with tools that enable you to write less code – only what’s necessary to develop high-quality applications. Tools like Delphi, with a low-code approach to developing applications without leaning on huge dependencies, such as libraries that contain more than the needed functionality, are productive. Delphi is capable of enabling productivity without compromising quality. It ticks all the boxes of sane modern software engineering. It offers intelligent code editing, which flattens out that learning (and memory) curve. A low-code wizard creates nicely laid-out, easy-to-understand, cross-platform apps that work on just about anything – Windows, Linux, macOS, iOS, or Android. However, other tools like Visual Studio are now not as productive. For starters, it is insanely huge with an unnecessarily high amount of overhead for simply writing code. For not so high-end PCs, this can slow down its performance and ultimately reduce productivity.  There’s also the problem of complex toolchains. With Visual Studio, what Windows UI framework do you even choose? Things can get a bit more complicated when your application needs a user interface, and you need to identify the best GUI framework for your project. On the other hand, Delphi uses the VCL framework for Windows and the FireMonkey (FMX) visual framework for cross-platform responsive UIs.  For more information on how you can increase your productivity with Delphi, check out the tutorial video below. You can download a free trial of RAD Studio Delphi today and see for yourself how it can boost your productivity today.

Read More

Picking the Best UI Framework for Windows 11 Development

cookielawinfo-checkbox-analytics 11 months This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category “Analytics”. cookielawinfo-checkbox-functional 11 months The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category “Functional”. cookielawinfo-checkbox-necessary 11 months This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category “Necessary”. cookielawinfo-checkbox-others 11 months This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category “Other. cookielawinfo-checkbox-performance 11 months This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category “Performance”. viewed_cookie_policy 11 months The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.

Read More

7 Things About Angular Material Components You May Have Not Known

Sencha ExtAngular is a suite of Angular material components for using Angular to construct data-intensive web applications. Components are professionally designed, tested, and preserved, and they interact with one another effortlessly. Here are some interesting things that might have not crossed your mind each Sencha angular material component. Did you know ExtJS has so many prebuilt UI components? Angular is a prominent JavaScript framework that allows you to develop web applications using components. Angular, on the other hand, does not come with any pre-built components. Angular, on the other hand, does not come with any pre-built components. Angular developers must choose between creating these components from zero or relying on the community for help. ExtAngular with Angular allows you to construct web applications more quickly. Also, ExtAngular supports Angular 7.x. ExtAngular comes with over 140 pre-built and pre-tested user interface components. Some of the key components of ExtAngular are  Grid  PivotGrid Exporter  Layout Charts D3 Forms and Form Validation Calendar  Buttons, Tabs, Menus, and Panels Did you know it has a grid with inbuilt functionalities for sorting and grouping? Sencha inbuilt grids are a great way to display vast volumes of tabular data. Grid, which is just a boosted , makes retrieving, sorting, and filtering vast volumes of data simple. Grids are made up of two major components, an Ext.data.Store which comprises of data and columns to output. The main features of the grid are columns, rows, and cells, rendered and templates, and sorting and filtering. If we further elaborate on sorting and filtering Every grid is connected to an Ext.data.Store, which allows for multi-sorting and filtering. It is indeed simple to create a sorted grid from the beginning itself. Sorting is simple in real-time by just clicking on each column heading. Whenever you need to sort multiple fields at the same time, it’s simple to accomplish so by introducing additional sorters to the store.  ExtAngular Grid also includes a Locking Grid feature that allows users to lock columns or “freeze pane” in the same way that Excel does.   Did you know you can add powerful analytics with PivotGrid? Developers may utilize Pivot Grid to provide powerful analytics features to Angular applications, letting people analyze and evaluate data in order to make better decisions. The ExtAngular Pivot Grid makes adding pivot functionality to web applications straightforward. Your users may utilize Pivot Grid to examine aggregate multidimensional data using a variety of aggregation methods, including sum, average, count, and more.Ext.pivot.matrix.Local can be used to perform calculations in your browser and  Ext.pivot.matrix.Remote can be used to do the calculations remotely on the server.  Did you know ExtAngular Charts provides all types of 2D and 3D charts? Charts provide excellent data visualization capabilities. ExtAngular Charts include all of the standard 2D and 3D chart formats. Mainly there are three types of charts in ExtAngular which are as follows, cartesian/chart – Chart for series implementations that use cartesian coordinates to plot values. For example, bar, scatter, area, and line charts. Most commonly used chart. Polar – Chart for series implementations that plot values using polar coordinates. For example Radial and pie charts. Space-filling – Chart that fills the entire area of the chart. All major browsers are supported by each chart. Grid cells can also be used to integrate Sparkline charts. Along with […]

Read More

10 Things Most People Don’t Know About Clean Code Windows 10 Development

Despite the release of Windows 11 back in October 2021, Windows 10 is still the most popular version of the operating system. Although most people will update, many may avoid updating due to software compatibility issues. Therefore, targeting Windows 10 development will currently give you the most extensive customer base, and later on, you can change your development focus to Windows 11. For top-notch application development, one should adhere to the optimum tools and techniques available. Unfortunately, many programmers are not aware of the best practices of software engineering. This gap in knowledge hinders their current and future developments. Let us review the top 10 things most people don’t know about clean code Windows 10 development. 1. Do computer bugs exist? If we press a button on a microwave, the TV will not turn on, and vice versa – unless there is something horribly amiss with your wiring – so it is our mistake and not the mistake of the switch we pressed. Barring physical computer hardware malfunctions, computer bugs, the fault of the computer, do not really exist because a computer is only a collection of switches. A bug is an error in our explanation of the problem to the computer – in essence, we pressed the equivalent of a switch to turn on a microwave when we meant to turn on a TV. Clean code helps us in reducing these human errors, aka bugs. 2. Why is clean coding like painting? It is easy to find and appreciate a good painting, but it is challenging to paint it. Moreover, tools for amateur and expert painters might be the same, but internal skills make all the difference. The same is true for clean coding. It is easy to appreciate clean and extendable code, but it requires much effort to produce it. Also, tools available to clean coders are the same: only internal quality control, and determination are different. 3. Is source code an asset or liability? We regard our source code as an asset, but that might not always be true. For example, many companies with shipped products face all sorts of problems due to their codebase. Some even went out of business due to poor source code. Thus, a buggy, ambiguous and rigid source code is a liability because it is a nightmare to maintain adding to the overall, less tangible, overheads of retaining commercial competitiveness. A clean, maintainable, and easily extendable source code is an asset. 4. Why should untested code be considered broken? It is a crime to open a bridge for passengers without sufficient load testing in civil engineering. The same should be valid for software engineering. Code testing and quality control should not be an afterthought but an essential part of the development process. We should not use untested code in a production environment because it is risky, unprofessional, and inextensible. Instead, we should always assume any untested code is broken – testing then proves otherwise. 5. What is common between clean code and binary search? In binary search, data reduces to half on every step, which helps quickly search the required piece of information. Also, binary search is only possible on a sorted list of items. Similarly, we can easily review most modules in well-written clean code by reading their names and going […]

Read More