Noutați

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

What’s Coming in RAD Studio: Join The Upcoming Webinar!

Click here to save your seat RAD Studio 11 Alexandria has been a significant and very well received release. Landmark changes to the IDE and support for high-DPI 4k+ screens have completely changed the app design experience. Windows 11 provisioning and a multitude of updates ensure our customers can target the latest versions, platforms and hardware. Meanwhile, since the 11 Alexandria release we’ve been hard at work figuring out how to further improve your application development experience, and listening to your feedback in search of bugs to fix and features to improve. What’s more, we’re not keeping our plans for RAD Studio under wraps but sharing it with everyone who cares (that’s you). You’re Invited to the “What Coming in RAD Studio” Webinar On 16 March at 11am US Central Time, join Embarcadero’s Jim McKeeth, Marco Cantu, David Millington and Kyle Wheeler on a highly revealing webinar on the latest in RAD Studio Alexandria. See what’s new in your favorite development tools, and where things are headed.  This is a must-see webinar for all fans of Delphi, C++Builder, and RAD Studio! Click here to save your seat

Read More

The Big Problem With Windows Software Makers, And How You Can Fix It

There are dozens of windows software makers; the powerful tools and programming languages used to create Windows GUI applications. Most of them require you to write thousands of lines to do even the simplest, most basic things such as drawing UI elements. Yes, several of them have their own RAD (rapid application development) tool, yet when you compare Embarcadero’s RAD Studio with other GUI development tools, it is immediately obvious why RAD Studio is a superior RAD development tool. Why should you choose RAD Studio’s Delphi & C++ Builder? Since I started my Windows software-making experience with C++ Builder and Delphi, I believe that most Windows app developers are making problems for themselves by choosing the wrong software development ecosystem.  When the Delphi with its Visual Component Library was introduced to software developers, it showed an accurate, productive tool to create Windows applications. For over 27 years now Delphi is still one of the leading, most productive ecosystems for Windows development. With its intuitive visual design environment and the unrivaled performance of a world-class optimizing native code compiler, you can achieve the best results in no time.   Moreover, the FireMonkey cross-platform framework is also one of the gems in the cross-platform development industry. Why? Because the architecture of the FireMonkey framework provides native development for most major platforms. For instance, you can create Windows, macOS, Linux, Android, and iOS applications from a single code base. It is straightforward to access device-specific and operating-system-specific features with APIs. Can RAD Studio 11 really build apps 5x faster than other methods? The RAD Studio 11 release supports High-DPI and 4k+ screens, provisioning for Windows 11, Android 30 API, and the macOS 64-bit ARM M1 processor. RAD Studio 11 – Alexandria is the latest version of the RAD Studio and provides developers with many more functionalities.  To learn more about why you should choose the RAD Studio for your next project, check out this article that analyzes: Are the original tools for Windows development making things difficult? What is the alternative? What is the best Windows development tool alternative to Microsoft? Is it hard to deploy a Windows app to the Microsoft Store? Do I need to use Microsoft tools to develop Windows apps? Did you know how easy it is to design beautiful desktop and mobile app UIs with RAD Studio? RAD Studio’s award-winning VCL and FMX frameworks are the best options in the GUI app development market. With hundreds of visual and non-visual components (packages of ready-made functionality and code) available to Delphi and C++ programmers alike, you can create complex and responsive applications in no time. RAD Studio IDE gives you a great environment to prototype and build applications.  Here, in the article linked below, we show you how to create great Windows apps in 2022. Difference between Windows 10 and Windows 11 app development How to improve Windows apps How to use AI in your Windows apps How to modernize UI and UX with futuristic styles How to update data access pipeline How to use WinUI 3 Are Delphi programs really stable? As Ian Barker, MVP, puts it, “Delphi’s biggest problem is that it is just SO GOOD at being silently successful.” Delphi programs are extremely stable – they run, in some cases for many years, without needing to be restarted coupled with an unparalleled ease of distribution – often just needing to […]

Read More

Alister Christie And Serge Pilko Talk Delphi, Part 3 of 3: Why Delphi, And Why a New Book

On 12 January Serge Pilko, Embarcadero MVP and founder of Softacom, a world leading Delphi software development services and software solutions provider, published a video of his interview with Alister Christie, author of the legendary “Code Faster in Delphi” and the creator of hundreds of videos that have shown 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. We have chosen to publish the transcript of their conversation in a three-part series of blog posts, of which this is the third. Read Part 1 here Read Part 2 here Alister Christie And Serge Pilko Talk Delphi, Part 3 of 3 Alister So it’s a fairly easy read, and I’ve been trying to write short books. If you look at the old Marco Cantu books, they’re 800 pages or something like that, especially, they’re huge tomes. And you know, back in the day big books sold, but now I think the trend is for shorter books on targeted topics. So, there’s now books on design patterns and memory management and writing high-performance applications and stuff that are available. So you don’t get this huge book which kind of covers everything and only a little bit of detail. You get these highly targeted books on very specific topics. So you get to learn something in great detail rather than having to sort of work it out or for yourself, which is really good. I think that’s a really positive thing that’s happened over the last… probably starting with Nick Hodges’ books, Coding in Delphi, and then you know, More Coding in Delphi, and then there’s the Dependency Injection book. So, and yeah. You know,[inaudible] has written books and Primož Gabrijelčič has written a couple books and yeah, there’s now [inaudible] on all sorts of topics. So… Serge You’re my hero because you have to be such a self-motivated guy for writing a book because I have a similar dream, but I have such a lot of professional, like routines, like daily routines. Of course I will spend my time with family, relatives. I don’t know how you can do that, especially, but you even have cows and dogs, I don’t have cows… Alister Yeah, I have the advantage that I have a regular job now as well. So I’ve got all the time for tinkering with projects. In theory I’ve got a lot of time. It doesn’t seem to materialize, I seem to be spending a lot of time doing chores and, now I’ve got a two-year-old son, which is, you know, I’ve got a lot of time with him, which is good. Serge Okay. Talking about “Code Better in Delphi”, you mentioned the better cleaner code, but did you have an experience, like a migration like from a Delphi legacy project to up-to-date Delphi because it’s a little bit like migration and the better code and refactoring are similar things, so maybe there was an insight or idea for the book. Alister Yeah. Certainly a bit of code is generally easier to migrate because it’s generally more consistent and, and what have you. So yeah, if you’re doing, you know, if you’re trying […]

Read More

Custom extensibility for your Miletus application

One of the new features of TMS WEB Core v1.9.7.0 was custom extensibility for Miletus applications. But what is that exactly? To put it simply, if you are after a native API we did not cover or you have custom routines you’d like to move separately you can take advantage of dynamic libraries and write your own extensions! How it works? As the intro suggests a custom dynamic library will be needed. We’ve built in support for 4 different method types that can be used in dynamic libraries to execute them directly from a Miletus application. These are the following: procedure MyProcedureWithParameter(AData: PChar); cdecl; procedure MyProcedureWithoutParameter; cdecl; function MyFunctionWithParameter(AData: PChar): PChar; cdecl; function MyFunctionWithoutParameter: PChar; cdecl; And the corresponding promises to execute these methods are: //Resolves with nil in case of await() function ExecProc(ALibraryPath: string; AProc: string; AData: string): TJSPromise;  function ExecProc(ALibraryPath: string; AProc: string): TJSPromise; //Resolves with a string in case of await() function ExecFunc(ALibraryPath: string; AFunc: string; AData: string): TJSPromise; function ExecFunc(ALibraryPath: string; AFunc: string): TJSPromise; It’s also possible to assign a callback that can be used to send custom messages to the Miletus application at any time. The only requirement for this is to implement RegisterCallback: type   TCallback = procedure(AMessageID: Integer; AData: PChar); cdecl; var   MyCallback: TCallBack; const    MYID = 123; procedure RegisterCallback(AFunction: Pointer); cdecl; begin   @MyCallback := AFunction; end; procedure MyProcedure; cdecl; begin   //Do something and call MyCallback   MyCallback(MYID, ‘{“Name”: “My data”, “Value”: “This is my JSON formatted data”}’); end; To capture the messages sent via the callback, use the MiletusCommunication.OnCustomMessage event. And of course let’s not forget that you can load a library by calling LoadLibrary(ALibraryPath: string) and unload it by UnloadLibrary(ALibraryPath). With all the puzzle pieces layed out, let’s see how to arrange them into a nice picture. Let’s see an example In our small example we’ll take a look at how to expose the GetUserNameW Windows API to a Miletus application. Keep in mind this is for Windows only! If you want to extend your dynamic library to get the current username for macOS or Linux too, you’ll need to use/implement the OS specific calls for those platforms as well. After creating a new dynamic library project in the Delphi IDE we’ll see an empty template. From here we only need to add one function that returns the result of GetUserName from the Winapi.Windows unit. library DemoLib; uses   System.SysUtils,   System.Classes,   Winapi.Windows; {$R *.res} function GetCurrentUsername: PChar; cdecl; var   buf: array[0..255] of Char;   bufsize: DWORD; begin   bufsize := SizeOf(buf);   GetUserName(buf, bufsize);   Result := buf; end; exports   GetCurrentUsername; begin end. The next step is to use this newly created library from our Miletus application. To keep the application simple, we’ll add a TWebLabel and use that to greet the user when the application starts. As mentioned above we can call the methods directly from the dynamic library via promises. This means we’ll need to mark the TMiletusForm.OnCreate event implementation as [async], which allows us to await the results of our async calls. [async] procedure MiletusFormCreate(Sender: TObject); Now we can use the TMiletusForm.OnCreate implementation to await the LoadLibrary and ExecFunc promises. LoadLibrary resolves with a Boolean value which indicates success of the library loading. ExecFunc resolves with a string that is the result from the DLL. […]

Read More

Automatically work with data backup in the cloud from your Delphi app

Automatically accessing files in cloud storage, making backups, sharing files with other users, distributing application resources via a cloud storage service … all these use-cases became a common practice in recent years. And with TMS FNC Cloud Pack, this becomes easy and seamless to add it to your Delphi VCL Windows applications, cross-platform FireMonkey applications for Windows, macOS, iOS, Android and Linux or TMS WEB Core web client applications. Our colleague Holger Flick explains how you can easily automate access to files stored in the cloud, on the biggest and most well-known cloud storage service providers. What’s more, when you write code once for a given cloud storage service, you can, with just switching properties, change to another cloud storage service provider and use 100% the same code. This includes Dropbox, Google Drive, Microsoft OneDrive, Hubic, Box, … This way, you can even let your end-users decide with what cloud storage service they want to work.  See how it works step by step in this new “How it works with Holger” video: Get started today Discover how TMS FNC Cloud Pack can save you tons of work and start taking advantage of cloud services seamlessly. TMS FNC Cloud Pack can be used simultaneously on these frameworks TMS FNC Cloud Pack can be used simultaneously on these operating systems/browsers TMS FNC Cloud Pack can be used simultaneously on these IDEs

Read More

6 Steps To Finding The Perfect JavaScript Grid

If you are an IT professional, you’ve probably heard of JavaScript, which is the most popular programming language that helped shape and implement changes to the World Wide Web into the form we know and love today. It is a force to be reckoned with, with over 97 percent of websites employing it and a large array of resources available via third-party libraries. Because it is crucial to the purpose of programming, you would have come across JavaScript Grid when utilizing JavaScript. It’s a type of user interface element that displays data in a tabular manner. Even though grids have been popular for a long time and have been in use for an extended period, their use is becoming more common, particularly in online Web App user interfaces. Every machine in the JavaScript Grid must do some work using software or a program. The aforementioned application splits the job among people by breaking it down into reasonable chunks so that everyone may work on his or her assigned duty. As a result of this division of labor, the hierarchy of the system becomes more organized, and small-scale sub-projects may be combined to execute large-scale projects when they are completed. Continue reading to learn more about the 6 steps to obtaining the ideal JavaScript grid and the essential characteristics to search for while making your decision. What Are the Steps to Finding the Ideal JavaScript Grid? In the Modern world of IT today where programming languages reign supreme and unmanaged workload is the biggest issue you seldom need a JavaScript Grid where you can divide and conquer the projects easily. Here we explain key steps and features which should look out for when finalizing your choice for JavaScript Grid. How to End Lack Of Versatility? Versatility is one of the most important characteristics to seek in a good JavaScript Grid. A multi-purpose and customizable Grid tool will increase your chances of success while also assisting you in effectively managing your task. This will guarantee that your data is not only properly structured, but also compatible with a wide range of browsers and devices, including PCs and mobile phones. Because each screen is distinct in size and has its own set of needs, a flexible tool ensures that your reputation is never jeopardized by precisely scaling and regulating the layout. How Fast Data Processing Impacts App Development? When dealing with large amounts of sensitive data that must be sorted and managed, fast data processing rates are critical. Sencha’s Ext JS is our recommendation since it is unparalleled in terms of functionality and crushes the competition. It not only guarantees that the grid loads and manipulates data sets in milliseconds, but it also assures that data processing is lightning fast thanks to a client and server-side buffered stores. It’s incredible how quick it is since standard vendors are 300 times slower than Sencha’s Ext JS. When your reputation is on the line, you can’t afford to take chances instead of opting for the best. Why Flexibility Ensures Cost-Efficiency? To organize and maintain your data while having the flexibility of cutting costs is a dream come true. But this is possible now, due to Ext JS which not only handles data requests from both local and remote data sources through Ajax, JSON, and RESTful […]

Read More

Native Windows Development Clean Code Has A Dirty Secret

There are many benefits of using clean code for native windows development, but increased productivity might be the most important. A productive development tool will save developers time and effort. Moreover, it will also minimize system downtime and customer frustration due to lower error counts. But clean code has a dirty secret. In an interesting article on TechCrunch, “Why productivity gains will define success for developers this decade,” the writer describes developers’ productivity as the number one reason for the success or failure of any native windows development tool. Let us review some key points from this article and the resulting insights. What is common between Schrödinger’s cat and Moore’s law? There should be no link between these diverse concepts, but it is interesting to observe that both Schrödinger’s cat and Moore’s law are dead and alive simultaneously. Moore’s law is alive because RAW CPU speed doubles every 18 months, but it is dead because end users’ software performance is slower and slower. If the complexity of the original problem is not doubling every 18 months, then who is killing Moore’s law? The biggest reason behind this sluggishness is bloated software. For example, a 6KB webpage of yesterday is well over 6MB containing all kinds of files, cookies, and JavaScript libraries ironically called “assets.” First-generation programmers knew bigger was not better, but careless design and relentless resources usage are prevalent today and, in many cases, those early lessons have been unlearned. Development tools like Electron are an obvious example of such methodology, requiring thousands of files and gigabytes of memory to perform a simple task. Everyone hates bloatware, but who creates them? Apart from the deliberately created bloatware, there is only one reason for this much bloatware to exist: Bloated development tools make bloated software. In the article, under the title, is the bloat sustainable we read that there has been an excessive growth in development tools in the last decade. We came a long way from pseudo-intelligent functionality generators to projects like GitHub’s CoPilot. Although AI-assisted coding is in its initial stages, the future looks promising. But all these tools assisting developers also means that programming is much more complex than in the past. We have come a long way from a simple product catalog to today’s complex shopping apps. Unfortunately, all this development has unwanted side effects. Thus many development systems and shippable code are becoming more and more bloated with every new version. If we do not choose our development IDE carefully, we will be part of the problem. How to find the right native windows development tool? The solution to the above problem is very simple. As most bloatware results from bad design and poor development tools, we can move towards the best available. Embarcadero’s RAD Studio is the top development tool to increase the developer’s productivity and is also very tight on quality control. Everything is available for the developers, but the generated output will only contain the minimum code needed for the required functionality. This optimized solution is excellent for performance and productivity and requires easier shipment and reduced maintenance costs. What is the meaning of productivity? This article raised another thought-provoking point under the title: What does productivity mean in software development? Traditionally, most People think that free software is excellent because it […]

Read More