Noutați

The Anatomy Of A Great JavaScript Grid Library

The pressure a modern web developer faces daily requires them to develop effective decision-making skills and always be on their toes. In the Rapid pace of modern software development, you cannot afford to take any wrong decisions or slow down. With the stakes this high, you have to make quick decisions about the frameworks you will work with and your chosen tools. Therefore you should always try selecting the right toolset before work starts.  For example, many beginner developers often make the mistake of going ahead with any library they see after searching the internet. Not many go through the documentation and Research into its developer community when deciding whether it’s a good option or not. When it especially comes to searching for the correct JavaScript data handling library, you should take some time to understand what a solid choice should look like.  When you start searching, you will realize there are many options on the market for libraries that work with data within JavaScript. However, not all of them would be advantageous. Some could potentially hurt your project’s performance and become a liability later on. To avoid such a scenario, you should consider an industry-leading option like Sencha ExtJS, which major tech companies trust worldwide.  This article will help you understand what the suitable JavaScript grid library would look like and how you can avoid making the wrong choice by keeping the aspects in mind. What Should The Right Javascript Grid Library Look Like? What are the Powerful Data Handling Abilities? The first and foremost characteristic you should extensively test when looking for a suitable JavaScript grid library is how well it handles data. The back-end performance of the library is an essential factor, and we cannot afford to pick an option that is unable to bear the brunt of massive datasets or complex operations. Therefore, you should look for a library that can promise significant data processing skills and delivers at that front. Sencha ExtJS has a sprawling library of data-focused capabilities that you can use to construct your data grids. There are powerful implementations of standard operations like pivoting, aggregation, grouping, sorting, filtering, and editing. You can also edit, drag-and-drop, and reorder rows as you please without hurting the application’s performance. Does it Support Extensive Customization? Since data is used in many different ways these days, it is a guarantee that no two data-intensive applications would be the same. Therefore, data technologies focus on being flexible and offering a diverse set of features that are useful in all different use cases. Your chosen grid library should also provide you with options to customize the back-end functionality and the front-end rendering. With Sencha ExtJS, you get a thoroughly customizable data grid library. You can edit how your rows and columns look and function. Additionally, the data binding options are flexible so that you can accept data requests from various sources like AJAX, JSON, or RESTful methods. You can also add more personalized functionalities by incorporating specific widgets. Are there Solid Integration Options With Frameworks? If your chosen JavaScript grid library intends to work smoothly in your web project, it will need to integrate smoothly with the other technologies. The whole web application will only be able to deliver the utmost performance when all the frameworks and libraries work […]

Read More

Why We Love Windows Development (And You Should, Too!)

I can say, with confidence, that desktop apps are not dead, in fact they are very much alive and thriving. Web apps are on the rise and it’s a common trope to say that web applications can replace windows app development. But they couldn’t do that. In some cases, Web apps are suitable as the primary way for users to consume your product ideas and output. But mostly, web apps are an adjunct to a more complete experience offered by full-on desktop applications. This is especially true in the business-to-business market. The majority of enterprises are still using native desktop applications especially for the line-of-business sphere like process control, specialized accounting and those apps which integrate with IoT devices. What happens when The Cloud is polluted by the fog of war? Useful web applications like productivity web apps proliferate but they do not have broad accessibility over native desktop applications and suffer from the need to be hosted by an outside organization which can pose problems of data ownership, guardianship and compliance. For example, if you are a German company and your human resources information is held in a cloud hosted in a nameless data center how can you ensure – in fact guarantee – that you comply with the eye-watering complexities of European and German laws? If that data center relocates to a new geographic territory, one which is cheaper for the cloud provider but is physically located in a region which is geopolitically at odds with your own wishes or legal obligations? If you are a US based company it may be illegal for you to hold data in a broad range of countries. Europeans may be legally prevented from using data stores outside of the European Bloc. The Cloud is really “someone else’s computer”. As a business owner – and even as an individual – you need to make sure that the “someone else” is some else you trust, and, more importantly, you are allowed to trust. What if the cloud…vanishes? If The Cloud breaks down and vanishes. Who gets the blame? The cloud provider files for bankruptcy, for example, and as long as they were not negligent, they get to walk away from those obligations. Meanwhile you are left with a compliance headache at best and a total los of business viability at worst with no ability to recoup. But even assuming that scenario doesn’t play out. What happens if your cloud app can’t access the internet? The outages at Amazon data centers took out the key functionality of substantial parts of the internet. A huge spotlight of doom was shone on the fragility of many companies’ solutions the questions being asked “was this a wise idea after all?” So, the problem is offline access to the functionality. Many web applications are building desktop versions of their products, because of the problem of offline access. Besides, web applications need persistent internet access, and this is another concern on security. That’s why big companies still feel the need to safely build native desktop applications. Are desktop applications the solution to the fragility of online-only web apps? It’s nearly impossible to deny that the desktop is probably one of the most important developments in productivity in the history of computing. Both desktop and web applications have their pros […]

Read More

Fast Track to Ext JS Learning Path Is Now Available On-Demand for Free

Are you an aspiring Ext JS developer just getting started with the framework? Or are you looking for the right resource to upskill your team? We’ve got exciting news for you about Fast Track to Ext JS! One of our most popular Ext JS training courses is now available on-demand for free. This means you’ll get access to quality learning materials and learn from Sencha Ext JS experts at your own pace. It’s completely free! Fast Track to Ext JS: Building Desktop & Mobile Apps with Modern Toolkit In this course, you’ll learn the fundamentals of the Ext JS development framework, including: Application Architecture Views; View Controllers; View Models Sending and Receiving Data Data-aware Components And many more It’s also extremely hands-on with labs for development works that connect to live data feed. So you can learn how to build the application from scratch. To start learning, you’ll need: A computer A course folder to hold your work Google Chrome Sencha Cmd Sencha Ext JS A source code editor or IDE If you haven’t already, get your 30-day trial of Sencha Ext JS for free. This course is also designed to help you make the most of your evaluation period. What’ll you be coding A music application that shows iTunes music video thumbnails for the top music videos. And users can play the preview video in a popup window. Music Video Application By completing the Fast Track to Ext JS course, you’ll be equipped with the essential skills to develop a full-featured application using the Modern toolkit for both the desktop and mobile user interfaces​. Get Started Now About the instructor Max Rahder World-class expert in Ext JS and Sencha Test Expert in technologies and architectures, and other front-end libraries, such as Ionic, Angular, and React. Max’s recent projects include: ExtJS app version upgrades (from 3.x and 4.x to 6.x) ExtJS app feature enhancements Mentored numerous clients on architecture and design Wrote all courseware for Sencha, Inc.: ExtJS, ExtReact, and Sencha Test Wrote Ionic courseware Converted a large ExtJS app to Ionic/Angular Given scores of corporate training and mentoring classes on web technologies Wrote the Java curriculum used by the State of Wisconsin and UW System

Read More

You Need To Know The Compelling Reasons For Native Apps

Native app development has substantial benefits over framework-based “one size fits all” comprises whether it’s for native windows development or mobile devices. It is simpler, less convoluted and circuitous to create, easier to run, and the user interface is typically smoother with noticeable responsiveness. Often, developers feel there is a barrier holding them back from embracing native development. They believe that they need to have multiple versions in different programming languages so they can develop applications for differing operating system targets. But there is a solution for that! Why do I need native app development? Here is why you need to be developing native apps: User experience – from smooth scrolling to device-specific features. With Native development tools, it’s easy to get these qualities. Native Apps are more secure – Building a native application is a great way to guarantee your users reliable data protection. Performance – With native applications, you can get higher performance. Easy access to all features of the device – Native applications have direct access to hardware, for instance, GPS, camera, microphone, and way faster in execution. Be sure to continue reading to learn about how to develop cross-platform native applications! In this article, I will show you why you need to consider Delphi to build your next products Why should I use Delphi to produce my apps? In short, with Delphi you can: Have confident long-term plans Create the most secure application Have fast time to market Have visual creation through powerful WYSIWYG Have 5x Faster Productivity Have Flexibility and Functionality Build an app for 5 different operating system with only one codebase How can I benchmark help me make a good choice of programming language? There are an overwhelming number of different benchmarks which attempt to provide an objective (and sometimes skewed) comparison of programming languages. Those white papers mostly compare and analyze energy efficiency and memory efficiency. But the real measure of the language is the productivity, engineering time, and efficacy of effort for developing a real-world application with any given programming language? Embarcadero Technologies produced a benchmark which fairly measured between 3 different software development tools to create a calculator application using these technologies: Windows Presentation Foundation (WPF) – with .NET framework Electron Delphi – Embarcadero Technologies RAD Studio If you go over and download the whitepaper yourself, you can learn more about every analysis with each detail. What were the key measures and findings of the whitepaper about developer productivity? Here you can find, conclusions of Productivity – is the measure of effort and code required for developers to complete typical development tasks. Productivity can be realized in 2 distinct ways – reduced coding requirements due to native libraries and IDE tools like code-completion and visual design 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 confident that their applications will be maintainable for decades. Functionality – long-term feasibility like does the framework have a history of stability and backward compatibility. Testing support, accessibility, and intellectual property security by securing project source code. Flexibility – flexible frameworks allow businesses to target a broad audience, build software for any field and access all the hardware […]

Read More

5 Great Reasons To Visit LearnCplusPlus.org Today

Hello C++ and Delphi Developers, We have new posts every day on LearnCPlusPlus.org packed full of great articles for professionals and beginners alike. Lots of new modern C++ topics to speed up your C++ app (or apps!) and to make them look visually stunning with an updated, modern look in a few simple steps. In the articles we have selected today we explain how you can simply compile Delphi projects in C++ Builder, how to Make A Millisecond Timer. We have some posts about Programming Artificial Intelligence, the Softmax function, and the Hyperbolic Tangent activation function in Neural Networks. What Is The ANN Function? There is a CppCon video about to analyze includes in C++ with Cppinclude. If you are new to RAD Studio, we think these posts may help you as much as a rapid introduction to programming in C++, all the way to the most robust, modern, and latest techniques for those more experienced with the language. For those who are perhaps wanting to expand their knowledge with the most up-to-date features, routines, and methodologies this is a great little boost (pun intended) to your C++ knowledge. The new RAD Studio 11, C++ Builder 11, Delphi 11 are released with great new features and we are developing and testing new examples for you with the latest RADS 11 that means.LearnCPlusPlus.org examples are working well with the latest C++ Builder. You can see more of our C++ posts on this blog by clicking the following dynamic search link: https://blogs.embarcadero.com/?s=C%2B%2B Here are today’s selections: How can we use C++ Builder in the most modern and efficient ways? These posts are designed to be easy to understand the modern and professional ways that we use in C++. Here are the topics, What You Need To Compile Delphi Projects in C++ Builder How To Make A Millisecond Timer In C And C++ What Is The SoftMax Function in Neural Networks? What Is The Hyperbolic Tangent Activation ANN Function? This Is How To Analyze Includes in C++ With Cppinclude What kind of C++ questions are we answering? These are the questions that we answer in this collection: How to compile Delphi projects in C++ Builder projects? How I can use Delphi or Pascal files in C++ applications? How to compile pascal files with C++ Builder? What is the challenge of timing very small intervals? Why would I need to time my program’s functions? How can I use the time library to time my C++ code execution speed? How can I use the chrono Library to time and measure my C++ app functions? What is the SoftMax function in Neural Networks? How can we use the SoftMax function in ANN? Where can we use SoftMax in AI technologies? Is the SoftMax function is an activation function in ANN? What does an activation function mean in AI? What is a Hyperbolic Tangent function? How can we use Hyperbolic Tangent Function in C++? Is there a simple ANN C++ Example of the Hyperbolic Tangent function? Can I analyze Include libraries in C++? How can I analyze Includes in C++ With Cppinclude? Where can I get the Cppinclude C++ tool? Where can I learn how to use Cppinclude? Is C++ Builder able to answer all those C++ questions? C++ Builder can answer and apply all the answers to those questions above with very simple step examples. […]

Read More

We kick of 2022 with ,How it works with Holger’: base64 data

We kick of the New Year with the first of “How it works with Holger” for 2022 and this first one this year is about using base64 encoded data.With REST APIs, JSON data, web client apps, string encoded binary data in URLs… ever more prominent in software developments, the use of base64 encoded data is everywhere. So, our colleague Dr. Holger Flick explains how you can use base64 encoded data with newer versions of Delphi out of the box and how the TMS FNC Utility library in TMS FNC Core goes a step beyond to make your life easier. Enjoy this first video of the year and watch for many more to come: Your idea could be on the next “How it works with Holger”! Submit your ideas here as comments or send us an email. Our list of subjects is growing. Your suggestion could be on it soon.

Read More

Writing Your Own Components For The FastReport Dialog

When creating a report, it is important not only to make a beautiful printed form that will display the data necessary for the user, but also a convenient prepress dialog where the user can set the parameters for generating the report. In the RAD Studio ide software, on the fastReport prepress dialog, there are already a number of components, for example, Label, Edit, Button, Memo. But sometimes this is not enough and you have to write your own dialog components for FastReport. In fact, they are analogues of ordinary Delphi-components, which can be used in dialog forms FastReport. Accordingly, in this article and will talk about writing such a component. For more information, we recommend reading the official documentation FastScript documentation: https://www.fast-report.com/en/product/fast-script/documentation/ FastScript VCL documentation: https://www.fast-report.com/en/product/fast-report-vcl/documentation/ To display data from the database, this article uses the DBGridEh component from the EhLib VCL library,which will be integrated into the FastReport dialog. Delphi 10.4.2 is used as the development environment, but everything described below will be suitable for any other Delphi starting from version 7 (adjusted for the version). Create a new package (dpk) and give it the name frxDBGridEh27. We add a new file frxDBGridEhControl.pas, which will be the basis of our grid. In this file, for registration in Delphi, we will declare the component: TfrxDBGridEhDialogControl = class(TComponent); TfrxDBGridEhDialogControl = class(TComponent); We begin to describe the TfrxDBGridEh component, which we will create from the base dialog class TfrxDialogControl. Essentially, we are re-declaring the properties of the base DBGridEh component into a component for use in FastReport. You can not declare all properties, methods, event handlers, but only those that are needed for work. In the private section, I recommend paying special attention to the following: private FDBGridEh :TDBGridEh; // The base component, the properties of which we will set and methods of which we will call FDataSource :TDataSource; // Interface between grid and data source in FastReport // Variables that will store the name of the event handlers FOnGetCellParams :TfrxGetCellParamsEvent; FOnGetBtnParams :TfrxGetBtnParamsEvent; FOnTitleBtnClick :TfrxTitleClickEvent; FOnDrawColumnCell :TfrxDrawColumnCellEvent; FOnColEnter :TfrxColEnterEvent; FOnCellClick :TfrxCellClickEvent; FOnColWidthsChanged :TfrxNotifyEvent; // These system procedures are needed to save and restore grid columns to the fr3 report template. procedure ReadData(Reader: TReader); procedure WriteData(Writer: TWriter); // These three methods are needed to be able to connect a basic data source of the TfrxDBDataset (FastReport) or TDataSet (Delphi) type to the grid. function GetDataSet: TDataSet; procedure SetDataSet(const Value: TDataSet); procedure SetDataSetName(const Value: String); // This is the event handler code procedure DoGetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; State: TGridDrawState); procedure DoTitleBtnClick(Sender: TObject; ACol: Integer; Column: TColumnEh); procedure DoGetBtnParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; var SortMarker: TSortMarkerEh; IsDown: Boolean); procedure DoDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); procedure DoColEnter(Sender: TObject); procedure DoCellClick(Column: TColumnEh); procedure DoColWidthsChanged(Sender: TObject); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 private   FDBGridEh      :TDBGridEh;   // The base component, the properties of which we will set and methods of which we will call   FDataSource    :TDataSource; // Interface between grid and data source in FastReport     // Variables that will store the name of the event handlers   FOnGetCellParams    :TfrxGetCellParamsEvent;   FOnGetBtnParams     :TfrxGetBtnParamsEvent;   FOnTitleBtnClick    :TfrxTitleClickEvent;   FOnDrawColumnCell   :TfrxDrawColumnCellEvent;   FOnColEnter         :TfrxColEnterEvent;   FOnCellClick        :TfrxCellClickEvent;   FOnColWidthsChanged :TfrxNotifyEvent;     // These system procedures are […]

Read More

An Introduction To JavaScript Grid Libraries

Rendering large volumes of information is a crucial requirement for many website features, for which websites often use tables for organizing the rendered data. When loading and processing a large data set on a web page, efficiency is important because it should have a minimal impact on the user experience. When you want to show information in tables, a data grid helps you show many records without significantly affecting the website’s performance. A data grid is like an HTML table that renders data in rows and columns, and today, many JavaScript Grid Libraries provide unique features for implementing and operating data grids. If you are a web developer looking forward to using a grid library for your applications, it is important to know what they are and what you should look for when choosing a grid library. A Javascript grid library is a collection of functions that enables you to easily create data grids for large data sets. Also, a grid library allows you to do various useful functions on the data, such as data fetching, scrolling, sorting, grouping, and filtering. More advanced grid libraries support advanced grid operations such as pagination, advanced searching, sorting with different conditions, and many more. JavaScript is the main language used by web applications,s and todays’ websites need to deal with a large volume of data. Therefore, implementing data grids and related functionalities from scratch will consume a lot of development time. A data grid library allows web developers to significantly accelerate development tasks and save development and testing time. Also, developing data grids from scratch while preserving the website’s performance is a challenging task. Most data grid libraries can perform data rendering and other related operations efficiently without significantly affecting the website performance. Therefore, JavaScript grid libraries have become popular for data display and manipulation in web and mobile applications. There are many JavaScript libraries on the market. Sencha offers a high-performing grid that lets developers load and manipulates a massive data set on the client-side within milliseconds. Experiments have shown that the Ext JS data grid has an outstanding scrolling speed 300x faster than other popular javaScript grids, which can fetch and display massive sets of data in less than one second. Ext Js Grid offers simple to advanced grid functionalities such as filtering, grouping, live data streaming, infinite scrolling, and many more. Using plugins, you can add extra functionalities such as column re-sizing,  row operations, and paging toolbar. There are also many open-source javascript grids available. For example, Grid.js is also a free and open-source JavaScript grid library based on TypeScript. You can easily use it with other javascript frameworks such as React, Angular, and Vue.js. Another popular JavaScript grid is the Jquery Grid. This enabled jQuery plugin uses Ajax callbacks to load data dynamically integrated with any server-side technology like PHP, ASP, JSP/Java Servlets, ColdFusion, Perl, etc. Grid Performance Many JavaScript grids fail because of slow data loading experience creates user frustration. Therefore, when choosing a grid library for your needs, it is very important to check its performance. If the grid is agh-performing, its initial data load time will be smaller. In addition, check the grid’s scrolling performance because users often need to scroll through many records. A good scrolling speed indicates that users can quickly scroll through the […]

Read More

How To Create Real-Time Applications With SignalR On Windows

History on Client-Server Apps When the original web first came into widespread public use things were reasonably basic. Webpages were effectively specialized documents, like a library. Users clicked on links to articles they found interesting. Somewhere, perhaps on another side of the world, another computer or server was the destination for that click or as we came to call it: the request. The user sends a request and, the server, the far-off computer, gives a response back to the user for every request. That response was typically formatted text, images and later, movies and music. Editing web pages was done mostly using plain text editors rather than more advanced ide software. After several years and a few iterations, Web 2.0 emerged allowing a more interactive, programmable kind of web page which behaved more like an application. The process was asynchronous and, we were able to execute commands on databases and manipulate the data they contained in that way. Like, create a user, get all users and delete a user.  With the advent of Web 3.0 and beyond, a new concept applied to the systems is a continuous connection between a client and a server. Web applications could now carry out significantly complex tasks, interact with specialized hardware like GPS sensors and other activities rivaling traditional desktop application capabilities. Along with this rose the need to implement real-time connections which transmitted data between the web browser and servers in an optimized and highly efficient way. The connection between the server and client can be used on either side to update and set the state and react accordingly. We refer to that highly interactive nature as “real-time web applications”. They’re a long way from those original electronic reference type documents of the original web. What methods are there for implementing real-time web applications? Interval polling  This method is very straightforward. We go to the server and see if we have anything we need to do in the interval. And there are 3 cases: Nothing will be returned The server has data that return to us Some sort of internal server error But no matter what, we go to the server to see if we can do anything. Problems of interval polling More connections, more overhead Mode bandwidth The server can’t keep up with the request Long polling As you can see, we were making requests every 10 seconds no matter what. Long polling is a call that we open up and remains open until the server has something for us (depending on browser timeouts). And after a timeout, we open up our request all over again. Benefits of this method: Less server overhead and resource consumption The downside is we still make and open connections regularly.  Server-Sent Events  In this method, we open a connection to the server and, that server can remain open indefinitely. And server makes use of this connection or pipe to send us messages.  The best thing about this is the server can push data to the browser without requiring multiple connections. But this is one way in which the client cannot send messages to the server. Web Sockets Web sockets are the ability of the client in the server to open a one-on-one connection, which they both can send data over.   What are the benefits of Web Sockets? Bi-directional communication […]

Read More

7 Tips for Making A Good Javascript Web Framework Even Better

Sencha Ext JS is the most comprehensive JavaScript framework for building data-intensive, cross-platform web and mobile applications for any modern device. Ext JS includes 140+ pre-integrated and tested high-performance UI components. Ext JS includes 140+ UI components, such as HTML5 calendar, grids, pivot grid, D3 adapter, trees, lists, forms, menus, toolbars, panels, windows, and much more. Hundreds of user extensions are also available from the Sencha community. Let’s take a look at 7 tips for optimizing developer productivity with Ext JS. How can I use Graph QL with Ext JS? GraphQL schema and ExtJS data model work together very well. Apollo Client provides a core library that can be included in ExtJS projects to easily manage GraphQL requests, adding powerful features such as in-memory caching. Find out more about GraphQL usage in one of the best javascript libraries. How can I build login forms with Ext JS? ExtJS provides built-in form components to quickly and easily create fully functional and validated forms. In this example, we demonstrate how to create a login/registration form within minutes with the following features. Adding textfield, numberfield, datefield Adding form validation (email, password…) Displaying form error messages Resetting values Processing form values Find out more about building Ext JS login forms. How can I debug Ext JS apps? Two of the hottest development tools available to any web developer, Visual Studio Code (VSCode) and Google Chrome, seamlessly integrate to provide the most comprehensive debugging environment known to javascript. Gone are the days of console-log mazes – now is the time for stack traces and breakpoints in your javascript development environment. Read on to learn how to efficiently step through your Ext JS application, watch variables, check function scope, and resolve issues faster. Find out more about debugging Ext JS javascript web applications. Are there benchmarks of the Ext JS framework? The overall volume of generated data has grown exponentially over the past couple of decades. As a result, modern JavaScript data grid components that manage the display and analysis of these massive data volumes have evolved. Today, there are many data grid offerings in the market that tout enhanced capabilities to display and manage analysis. But how many of them can withstand the true test of performance as it relates to “Big Data”? Find out more about Ext JS performance benchmarks. How can I use the MVVM pattern with Ext JS? Beyond what the original MVC offers, the Ext JS MVVM pattern allows for further management of the View solely into its own MVC pattern — referred to as the View Package. This consists of: 1) The Model, dealing with the interface of the app’s retrieval and data definition 2) The View addressing strictly presentational concerns such as layout and component configuration 3) The View Model managing the presenting and updating of the data for the View Find out more about js frameworks MVVM patterns with Ext JS. What is the easiest way to build accordions and steppers with Ext JS? Sencha Ext JS allows you to accelerate web application development with an enterprise-ready framework, components and tools built to work together seamlessly. You can build Ext JS applications using drag-and-drop features and spend less time on manual coding. The IDE and Code Editor Plugins integrate Sencha frameworks into your enterprise workflow, enabling code completion, inspection, generation, navigation, refactoring and more. Find […]

Read More