Noutați

Delphi Versus Electron Benchmarking Study – Development Time Metric

When businesses choose a software framework they begin a long-term relationship for the duration of their application’s lifecycle. Given the strategic consequences of this decision, businesses must carefully consider how frameworks enhance developer productivity, business functionality,application flexibility, product performance, the long-term viability of that framework, and the inherent security in each framework’s design and technology. The ideal framework demonstrates strength in each category by minimizing product time-to-market, reducing maintenance costs, supporting product variety, and facilitating a superior customer experience. The “Discovering The Best Cross-Platform Framework Through Benchmarking” whitepaper evaluates two frameworks supporting multi-platform desktop application development: Delphi and Electron. This is the first in a series of blog posts looking more closely at each of the 26 individual metrics used in the study, and how Delphi and Electron each fared on these metrics. Download the complete whitepaper here Benchmark Category: Developer Productivity Developer productivity is the measure of effort and code required for developers to complete typical development tasks. Productivity directly impacts product time-to-market and long-term labor costs so tools that increase developer productivity have substantial impacts on business timelines and bottom lines. Productivity can be realized in two distinct ways – reduced coding requirements due to native libraries, and IDE tools like code-completion and visual design.IDEs with greater library breadth generally result in fewer lines of code per application and produce a clean, lean codebase that minimizes opportunities for bugs or maintenance problems later in the product life cycle. Benchmark Metric 1/26: Development Time Development Time Metric: Total hours spent writing the fully functional application from scratch. This measurement assesses the value a framework’s productivity tools add to an average developer with no prior task knowledge. Comprehensive documentation, plentiful native libraries, code completion, and other IDE tools will allow the developer to design and build the benchmark application more efficiently than would be the case in a “standard” text editor. Benchmarking Results Delphi Score: 3 (out of 5) One expert Delphi developer completed the Unicode Reader in 23.3 hours using the RAD Studio IDE. Application modification with internal tests took 8.33 hours for a total development time of 31.63 hours. Five other Delphi developers gave estimates for the original application ranging from 24 to 50 hours, averaging 38.8 hours. Electron Score: 5 (out of 5) One expert Electron developer completed the Unicode Reader in 20 hours using Angular for the RSS reader GUI and node-postgres, a collection of node.js modules, for the database interactions. However, application modification with internal tests took an additional 47.8 hours – 28.6 hours to code the tests and 19.2 hours to troubleshoot issues on three platforms until acceptance criteria were met – for a total of 67.8 hours. Three other Electron estimates for the Unicode Reader ranged from 80 to 120 hours with a mean of 100 hours. Download the complete whitepaper here

Read More

Delphi Versus Electron Benchmarking Study – UI Design Approach

When businesses choose a software framework they begin a long-term relationship for the duration of their application’s lifecycle. Given the strategic consequences of this decision, businesses must carefully consider how frameworks enhance developer productivity, business functionality,application flexibility, product performance, the long-term viability of that framework, and the inherent security in each framework’s design and technology. The ideal framework demonstrates strength in each category by minimizing product time-to-market, reducing maintenance costs, supporting product variety, and facilitating a superior customer experience. The “Discovering The Best Cross-Platform Framework Through Benchmarking” whitepaper evaluates two frameworks supporting multi-platform desktop application development: Delphi and Electron. This is the second in a series of blog posts looking more closely at each of the 26 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: Developer Productivity Developer productivity is the measure of effort and code required for developers to complete typical development tasks. Productivity directly impacts product time-to-market and long-term labor costs so tools that increase developer productivity have substantial impacts on business timelines and bottom lines. Productivity can be realized in two distinct ways – reduced coding requirements due to native libraries, and IDE tools like code-completion and visual design.IDEs with greater library breadth generally result in fewer lines of code per application and produce a clean, lean codebase that minimizes opportunities for bugs or maintenance problems later in the product life cycle. Benchmark Metric 1/26: UI Design Approach UI Design Approach Metric: Does the framework’s IDE allow for graphical/visual application creation and provide a “What You See Is What You Get” (WYSIWYG) view model?11 IDEs that support development through “drag and drop” components or other visual methods allow users to engage different methods of thought and creativity as they work. Visual creation through WYSIWYG editors preclude businesses from needing every version of physical hardware to view platform-native styling. Benchmarking Results Delphi Score: 5 (out of 5) Delphi’s RAD Studio IDE offers a What-You-See-Is-What-You-Get (WYSIWYG) design experience with drag-and-drop components for visual GUI design. The designed GUI can be viewed using native Android/iOS/Windows/macOS styling or custom styles and can simulate application appearances within mobile devices of varying screen sizes. Components can also be resized and have their properties adjusted in the Object Inspector without touching code, allowing rapid prototyping through visual development. Delphi also offers the ability for a developer to edit the UI using a simple YAML style language definition. Electron Score: 3 (out of 5) Electron lacks a native IDE but can be developed using text editors and command line tools, Electron doesn’t include a WYSIWYG design experience or drag-and-drop components by default. The UI can be created using HTML5 and CSS styling. Unless the developer chooses an IDE like Visual Studio, Electron applications must be compiled and run to view the project’s GUI. Download the complete whitepaper here

Read More

5 Ways To Make Use Of AI In Your Windows And Mobile Apps

AI is one of the most significant trends in the app development industry. We can witness that artificial intelligence is coursing into every regular activity of ours whether it is medicine, finance, production, cyber security through mobile and desktop applications. In this article, you will learn how to transform your Windows development as well as that of other desktops such macOS or Linux, or for mobile applications by harnessing the power of artificial intelligence using Embarcadero’s Delphi FireMonkey technology. Artificial intelligence empowers you and your business to achieve more by providing intelligent solutions to complex problems. Delphi is a strongly typed, event-driven programming language with a rich ecosystem of frameworks and components. With the Delphi FireMonkey framework, you can build native and cross-platform applications from a single code base, and you can easily target: Windows iOS Android macOS Linux Web   Should I use AI in my Windows and mobile apps? There is a trend in Microsoft Windows desktop applications towards using AI. For instance, the Cortana visual assistant can improve and become more helpful over time if you use it. Moreover, the Microsoft Office applications can learn what you do and give recommendations and fixes to your document. The Outlook email and calendar management app has recently incorporated some great use of machine learning to send out an innovative summary of tasks on which you have promised a follow-up. It’s becoming obvious that you should definitely consider using machine learning and AI in your apps to add powerful and innovative additional functionality. Microsoft also provides Cognitive Services that allow AI, specifically machine learning, algorithms to be deployed on the powerful and popular Azure cloud computing. You can easily connect your Delphi FireMonkey apps to these cognitive services.  By using cloud-provided AI APIs, you can spend more time building your business logic rather than creating the needed service from scratch. 1. Use Google Cloud AI APIs Google offers a variety of AI APIs that you can easily connect to Google’s online services and accomplish machine learning tasks in the cloud and fetch the data using REST endpoints. For instance, Google Document AI API is one such service which provides the ability to parse structured information from unstructured or semi-structured documents using state-of-the-art Google AI such as natural language, computer vision, translation, and AutoML. Google Vision AI API is another set of services that you can utilize to detect objects or extract text from the document with world-class accuracy. Here you can check out this tutorial which shows you how to deploy powerful AI vision tools on Windows and Mobile. 2. Integrate APILayer AI APIs APILayer is one of the market-leading services that offer a wide variety of productivity-boosting Web APIs, cloud-based micro-service applications for developers and companies of any size. LanguageLayer is part of the APILayer set, and it provides powerful language detection AI API. It supports 173 languages and you can access this service via REST API. Here is a tutorial where you can learn how to integrate this LanguageLayer API into your Delphi FireMonkey application. 3. Integrate DeepAI APIs You can integrate DeepAI APIs into your Delphi applications. So, you can use DeepAI API to process images and videos to get data about the demographics of people present, faces detected. Moreover, you even flag media that contains nudity so […]

Read More

5 Signs You Should Invest in The Best JavaScript Libraries

Companies now strive to be easily accessible to their clients in 2022. As a result, web-based solutions to broaden enterprises’ reach are abundant in the consumer market. JavaScript has been around for more than two decades, has amazed, captivated, and persuaded the developer community. In addition, it includes the most excellent JavaScript libraries for enhancing performance. As with JavaScript, some have expressed their dislike for dynamically typed languages. However, you can’t go wrong by learning JavaScript, despite all the conflicting viewpoints out there. Even though the language is old and has some weird ways of getting the work done, it is being used more frequently than ever before. In today’s competitive industry, being the first to market is a distinct advantage that has no equal. Because of this, businesses want a technology stack with a strong developer community and a reputation for efficiency and effectiveness. It also features the most excellent JavaScript libraries for enhancing performance.  To better meet the needs of their customers, they can offer new items more quickly thanks to this. These pre-written JS code files, which are available to everyone on the internet, speed up creating websites and web-based apps. Now let’s dive into the best javascript libraries. What Are the Best Frameworks To Familiarize Yourself? Vue.js ExtJS Ember JS Aurelia Angular React What Are the Signs Indicating That You Need To Invest In Better Js Libraries? 1. How Does The Documentation and Extensive Developer Community Benefits You? You’ll have access to a wide range of information that will aid in your understanding of the code’s structure. What’s the point of spending numerous hours developing something that can be found already done? As a result, all you need to do is consult the library’s documentation, and you’re ready to go. Developers may easily get in touch with the JS library’s large online community. As a result, you’re not on your own in the process of building a project. When you are stuck on anything, you may use your network to connect, contribute, and find a solution. 2. How Significantly Can the Turnaround Time Be Impacted? In addition to having a faster turnaround time for websites, the entire code developed must be more efficient as well. It’s a quick, efficient code that helps the page load faster thanks to JavaScript libraries. Many JS libraries like React JS, for example, are well-liked for their role in speeding up web pages and web applications. 3. Are These Budget-Friendly? There is no need for small enterprises and startups to go beyond their budgetary limits. They may choose not to hire high-potential developers in order to manage programming costs. Because the website development project may be taken up by even the most basic of resources at an early stage. 4. Do These Libraries Have Consistent User Experience? Clients don’t browse through your code, but when they visit your website, they see and experience your finished solution in one go. Consistency does not mean that customers are dissatisfied with the back-end functionality of the product. They are concerned with the speed at which data is retrieved, with the functionality of the pages, and with the overall insight provided by the site. As a result, customers are more likely to return to the site if they have a positive customer experience. This also […]

Read More

Is Java Dead? What Is the Best Alternative?

Java was developed by Sun Microsystems and was later acquired by Oracle in 1995. According to its Wikipedia page, “Java is a high-level, class-based, object-oriented programming language, designed to have as few implementation dependencies as possible.” Although it has been one of the most widely used programming languages over the years, there have been many questions and discussions surrounding java’s viability to date, not just for development on windows but in a more general sense too. There are countless discussions such as; Is Java dead? Is it now a language of the past? Should we now look elsewhere for development tools and if we do, what are the best alternatives to Java? Is Java Really Dead? When Java was first introduced in 1995, it was the ‘real deal’. Java songs were sung all across the programming world. Sun Microsystems was giving off Microsoft vibes, and James Gossling (original java developer at Suns) was the kingpin of Silicon Valley. So, what has changed? Java is an established programming language with many use cases. However, while there’s much debate around whether it is declining or not, it is certainly not growing at any real pace. When you consider that this is a constantly evolving industry, you begin to notice that java is living in the past.  If you take a look at the TIOBE index, you’ll discover that Java has been on a steady decline glide slope since 2016. In fact, between May 2016 to May 2017, the Java programming language declined by 6% in ratings. Moreover, in the latest index rating, java has dropped from the number one spot to number three in the last five years; Considering its very large community, that says a lot.  Did Google really kill Java? What’s more, when Google dropped support for NPAPI (Netscape Plugin Application Programming Interface) from its 2015 Chrome browser releases this put a serious downward pressure on Java’s adoption and started a negative inflection point. NPAPI is an API which the Java plugin for web browsers relies on. In September 2013, Google announced that it would be phasing out support for the NPAPI for many reasons, some of which were security and browser speed-related. At this point, the developer community was anxious about how Oracle would respond. Instead of providing a more secure Java experience Oracle recommended that users looking to access Java applications via browsers should drop Chrome for Internet Explorer or Safari. Objectively, this was not a reassuring experience for Java programmers especially since the choice of Java was often influenced by the much-touted concept of Java being able to run ‘anywhere’ and now the official guidance seemed to be saying “runs anywhere, as long as it’s not the most popular web browser in the World“. Is Java the COBOL of the online programming world? A few years ago, it was common to see Java referred to as “the new COBOL,” a language whose relevance lies in maintaining clunky legacy corporate in-house systems. Like COBOL, Java is a good language for its time; however, there are better ones. Some of which have emerged over the years to become very relevant and keep pace with the changes and modernization of hardware and operating system advances. Although there’ve been numerous Java updates – and a quite confusing array of Java variants […]

Read More

Delphi Versus Electron Benchmarking Study – Metric 2/26 – UI Design Approach

When businesses choose a software framework they begin a long-term relationship for the duration of their application’s lifecycle. Given the strategic consequences of this decision, businesses must carefully consider how frameworks enhance developer productivity, business functionality,application flexibility, product performance, the long-term viability of that framework, and the inherent security in each framework’s design and technology. The ideal framework demonstrates strength in each category by minimizing product time-to-market, reducing maintenance costs, supporting product variety, and facilitating a superior customer experience. The “Discovering The Best Cross-Platform Framework Through Benchmarking” whitepaper evaluates two frameworks supporting multi-platform desktop application development: Delphi and Electron. This is the second in a series of blog posts looking more closely at each of the 26 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: Developer Productivity Developer productivity is the measure of effort and code required for developers to complete typical development tasks. Productivity directly impacts product time-to-market and long-term labor costs so tools that increase developer productivity have substantial impacts on business timelines and bottom lines. Productivity can be realized in two distinct ways – reduced coding requirements due to native libraries, and IDE tools like code-completion and visual design.IDEs with greater library breadth generally result in fewer lines of code per application and produce a clean, lean codebase that minimizes opportunities for bugs or maintenance problems later in the product life cycle. Benchmark Metric 1/26: UI Design Approach UI Design Approach Metric: Does the framework’s IDE allow for graphical/visual application creation and provide a “What You See Is What You Get” (WYSIWYG) view model?11 IDEs that support development through “drag and drop” components or other visual methods allow users to engage different methods of thought and creativity as they work. Visual creation through WYSIWYG editors preclude businesses from needing every version of physical hardware to view platform-native styling. Benchmarking Results Delphi Score: 5 (out of 5) Delphi’s RAD Studio IDE offers a What-You-See-Is-What-You-Get (WYSIWYG) design experience with drag-and-drop components for visual GUI design. The designed GUI can be viewed using native Android/iOS/Windows/macOS styling or custom styles and can simulate application appearances within mobile devices of varying screen sizes. Components can also be resized and have their properties adjusted in the Object Inspector without touching code, allowing rapid prototyping through visual development. Delphi also offers the ability for a developer to edit the UI using a simple YAML style language definition. Electron Score: 3 (out of 5) Electron lacks a native IDE but can be developed using text editors and command line tools, Electron doesn’t include a WYSIWYG design experience or drag-and-drop components by default. The UI can be created using HTML5 and CSS styling. Unless the developer chooses an IDE like Visual Studio, Electron applications must be compiled and run to view the project’s GUI. Download the complete whitepaper here

Read More

Alister Christie And Serge Pilko Talk Delphi, Part 1 of 3: Career Beginnings With Delphi

In the world of Delphi, Alister Christie needs no introduction. He is the author of the legendary “Code Faster in Delphi”, and the creator of hundreds of videos that showed many of today’s Delphi developers around the world how to program and accomplish things with Delphi.  Download Code Faster in Delphi for free here Alister also has an upcoming book, “Code Better in Delphi”, scheduled to hit bookstores soon. In the video at the base of this post, Alister has a conversation with Serge Pilko, an equally accomplished Embarcadero MVP and founder of Softacom, a world leading Delphi software development services and software solutions provider. Serge interviews Alister about his career beginnings and first contact with Delphi, and discovers how Alister became a household name among Delphi fans with his educational books and videos through LearnDelphi.tv In this first of a three-part blog series we have published the first part of Alister’s interview with Serge. The next two parts of the interview will be published in the coming weeks as we approach Delphi’s 27th anniversary. To watch the entire video of Serge’s Pilko’s conversation with Alister, scroll to the base of this post. Alister Christie And Serge Bilko Talk Delphi, Part 1 of 3 Serge Pilko Hello everyone. Today I have a guest, Alister Christie. I think you know this guy, because if you are a Delphi developer, for sure you saw his short and very useful videos about Delphi development. Hi Alister.. Alister Christie Hi… Serge Just a couple of words about today’s… let’s say event. In this media we are talking to Alister, as I already said a developer and Embarcadero MVP. Let’s say that today it will be an MVP-to-MVP talk. And of course, Allister is Embarcadero MVP, tutor and speaker on different events about Delphi. And of course he has his famous YouTube channel. I think it’s one of the leading places where developers can watch and get different useful information for them. And of course, learn Delphi programming and development. In this video we are not going to discuss deep tech stuff because we don’t have the time and this is not the goal of this video. In this video we’ll discuss our and Allister’s professional way and where he’s getting his passion, how he’s creating his videos. How is it? Because I think it’s very interesting for our audience. Is it okay for you Allister? Alister Absolutely, yeah. Serge So in this case, my first question to you before we start our plan is “how do you think, where is Delphi today? What do you think? What’s the future? What’s the current status, and do you have any thoughts about this? Alister I think things are looking pretty good for Delphi at the moment. I was a bit worried initially when Idera first acquired Embarcadero, they seem to make some pretty fast decisions on, you know, what staff they wanted to keep and that kind of stuff. And what have you. But I think they’ve kind of realized that Delphi’s pretty good and are putting investment in R and D and all that kind of stuff into it now, which is, is that all very positive? So I think, yeah, in terms of the health of Delphi it’s pretty good. Yeah, a few people […]

Read More

Delphi Versus Electron Benchmarking Study – Metric 1/26 – Development Time

When businesses choose a software framework they begin a long-term relationship for the duration of their application’s lifecycle. Given the strategic consequences of this decision, businesses must carefully consider how frameworks enhance developer productivity, business functionality,application flexibility, product performance, the long-term viability of that framework, and the inherent security in each framework’s design and technology. The ideal framework demonstrates strength in each category by minimizing product time-to-market, reducing maintenance costs, supporting product variety, and facilitating a superior customer experience. The “Discovering The Best Cross-Platform Framework Through Benchmarking” whitepaper evaluates two frameworks supporting multi-platform desktop application development: Delphi and Electron. This is the first in a series of blog posts looking more closely at each of the 26 individual metrics used in the study, and how Delphi and Electron each fared on these metrics. Download the complete whitepaper here: Benchmark Category: Productivity Benchmark Metric 1/26: Development Time Developer productivity is the measure of effort and code required for developers to complete typical development tasks. Productivity directly impacts product time-to-market and long-term labor costs so tools that increase developer productivity have substantial impacts on business timelines and bottom lines. Productivity can be realized in two distinct ways – reduced coding requirements due to native libraries, and IDE tools like code-completion and visual design.IDEs with greater library breadth generally result in fewer lines of code per application and produce a clean, lean codebase that minimizes opportunities for bugs or maintenance problems later in the product life cycle. Development Time Metric: Total hours spent writing the fully functional application from scratch. This measurement assesses the value a framework’s productivity tools add to an average developer with no prior task knowledge. Comprehensive documentation, plentiful native libraries, code completion, and other IDE tools will allow the developer to design and build the benchmark application more efficiently than would be the case in a “standard” text editor. Delphi Score: 3 (out of 5) One expert Delphi developer completed the Unicode Reader in 23.3 hours using the RAD Studio IDE. Application modification with internal tests took 8.33 hours for a total development time of 31.63 hours. Five other Delphi developers gave estimates for the original application ranging from 24 to 50 hours, averaging 38.8 hours. Electron Score: 5 (out of 5) One expert Electron developer completed the Unicode Reader in 20 hours using Angular for the RSS reader GUI and node-postgres, a collection of node.js modules, for the database interactions. However, application modification with internal tests took an additional 47.8 hours – 28.6 hours to code the tests and 19.2 hours to troubleshoot issues on three platforms until acceptance criteria were met – for a total of 67.8 hours. Three other Electron estimates for the Unicode Reader ranged from 80 to 120 hours with a mean of 100 hours. Get the complete whitepaper

Read More

This Is How To Improve the Performance of .NET Apps

Microsoft’s .Net is one of the most popular technologies used by businesses to power mission-critical digital services. Millions of developers use C#, ASP.Net, etc., to develop different types of widely used software solutions, primarily for Windows development. Solutions which use .Net range from Windows client applications, database applications, XML web services to niche corporate boutique-style apps. Therefore, it’s no surprise that ensuring the optimal performance of .Net applications is the main focus for organizations and developers running them. Different factors inhibit the performance of .Net applications. Before we discuss the perfect solution for .Net performance issues, let’s review these factors. What are the most common .Net performance issues? .Net applications can often perform poorly for a variety of reasons. However, two top factors are responsible for most .Net performance issues: busy UI, and garbage collection/memory pressure.  How does busy UI (dispatcher) thread affect application performance? If your desktop application’s UI freezes or lags, it is often related to the user interface (UI) thread or the dispatcher thread in the case of server applications. A UI thread can become busy due to different reasons— an algorithmic error or a thread contention; when a UI thread is waiting on a lock.  The primary duty of a UI thread is to execute blocks of work, one at a time until the application closes. When your application’s UI is running animation or trying to update screen elements or handle data, the system tries to execute the block of work responsible for the screen every 16 milliseconds so as to achieve the UI ideal goal of 60 frames per second. For this to be the case, the UI hierarchy must update simultaneously on the UI thread. However, regardless of how you synchronize your code, there are portions you can only run through one thread at a time. This leads to the thread containing numerous waiting UI tasks, making the queue too long to update the UI thread fast enough.  Consider going to a busy bank with only one bank clerk to help people out: multiple people can enter the bank to fill their requests but have to line up to receive any banking service. In this illustration, the service offering process is single-threaded, as it is with .Net applications. When the thread becomes busy, in other words, clogged with too many tasks, it can result in an application performance bottleneck.  How does garbage collection/memory pressure slow down .Net applications? .Net applications automatically dispose of inert obsoleted objects or objects that are inaccessible from the root when the system is running low on physical memory or when you explicitly use the GC.Collect() method. This automatic memory management is known as garbage collection. While this works to effectively manage memory pressure for .Net applications, over time, they reach points of insurmountable pressure, where the applications spend more time managing memory rather than executing instructions.  Generally, garbage collection pressure and busy UI slows down the performance of .Net applications. Fortunately, there are two tried and trusted ways you can avoid these pitfalls— switching to Delphi or using a .Net Delphi bridge.  Why should I switch from .Net to Delphi? Delphi is a tried and tested incredibly stable market-leading rapid application development environment. You can build native and cross-platform applications several times faster than most other solutions. In fact, […]

Read More

New free webinar: Getting started with a VCL Grid workhorse in Delphi apps

In this free webinar on January 27 from 4PM to 5PM UTC, hosted at https://www.tmswebacademy.com, meet TAdvStringGrid, a feature packed grid workhorse for Delphi VCL applications.With little to no code, this grid allows to import/export data in various formats sort filter print or generate a PDF file group hide rows and/or columns render mini HTML formatted text in cells add various graphics types in cells edit with various inplace editors visualize data in various ways perform drag & drop with other controls or applications, merge cells perform calculations much more… This is mostly YOUR webinar, as your host Bruno Fierens, CTO at tmssoftware.com will prepare the content based on your the topics you send in as well as questions asked live during the webinar. Make sure to send topic suggestions for the VCL Grid to be covered to info@tmssoftware.com and make sure to attend the webinar live so you can interact live!This webinar is aimed at developers new to the VCL grid or with intermediate knowledge about it.  Register now! Sign up for this webinar today and make sure to attend live on January 27 from 4PM to 5PM UTC (17h00 – 18h00 CET)

Read More