Rapidly Build Cross-Platform Enterprise Apps With JavaScript And Electron – Sencha.com Sencha Home / Blog / Ext JS / Rapidly Build Cross-Platform Enterprise Apps With JavaScript And Electron
That was the theme of a live I watched… “And Delphi, huh???” For those who follow the evolution of the tool over the years, especially since Embarcadero, everything that has happened is very clear. But for those who are not part of this group, the question is extremely pertinent. I became an admirer It was through a live that I got to know, I immediately became an admirer of the creator of the stream André Baltieri , or simply Balta as he is called. You who do not know, and I open space here to say that I did not know, and still do not know personally, Balta has been a Microsoft MVP for 9 times in recent years, has a long journey in his development career and through his work on the Balta portal . io has trained more than 20,000 programmers who somehow consumed some of his courses. Access the original post (in Portuguese) The live was in Portuguese, with an audience of over 300 people participating online. To learn more, follow the link to the original post on my site:
The free and full-featured Community Editions of Delphi and C++Builder are designed to help you get started programming. These powerful IDEs provide all the features you need to quickly explore robust app development. When Community Edition launched it made all the features of the Professional Edition of Delphi and C++Builder free to students and hobbyists in the community: including mobile platforms, desktop database, and the full source code for the runtime libraries. Now the 10.4.2 Sydney update brings the absolutely latest features and updated platform support to Delphi & C++Builder Community Edition. There’s no better way to build powerful native applications for iOS, Android, Windows, and macOS from a single codebase than using the robust and easy-to-learn Delphi language. This makes it the ideal choice for students or anyone who just wants to get things done. C++Builder is your choice if you want to master the mysteries of the curly brace. It unlocks a huge variety of C++ standard libraries, while still giving you access to the powerful runtime libraries included in Delphi. This is a winning combination for C++ development. The Community Editions of Delphi & C++Builder are designed for students and hobbyists. If that is you, and you are new to programming, then download the free Community Edition of your choice [Delphi 10.4.2 CE or C++Builder 10.4.2 CE] and register for the free . Community Editions are available free of charge to developers, and organizations with fewer than five developers. You must have revenues less than US$5,000. They come with a one-year term license and a limited commercial license. If you aren’t sure if you qualify for the CE license then start with the Free Trial or consult the Community Edition License FAQ. Once you outgrow Community Edition then upgrade to a perpetual license with an unrestricted commercial license and choose between the Professional, Enterprise, and Architect Editions of Delphi, C++Builder, and RAD Studio.
What is Telegram Messenger? Telegram Messenger is a popular cloud instant messaging application. This application offers multiple services including instant text messaging and video calls which are end to end encrypted. Telegram also allows for secure file sharing and many other powerful features which would be hard to do independently in your own code. Telegram Messenger is famous for the level of security it offers for users. Furthermore, Telegram Messenger offers a free and open Telegram API that allows anyone to create their own messaging apps operating in the Telegram cloud. To ease the Telegram API integration, a cross-platform library completely free is provided too. This library is known as TDLib library. Why use the Telegram cloud in your own application ? Telegram Messenger is more than an instant messaging application; it’s a real social network with the capabilities and features we’ve come to expect. For example if you need a notification feature in your application, integrating with the Telegram cloud allows you to get this feature very quickly and be in touch with all Telegram users. A brief look at TDLib library. The advantage of using the TDLib component library are : Cross platform capability (Windows,Android,iOS,MacOS,Linux) High-performance. it can be red in the documentation that each TDLib instance can manage around 20000 bots. Consistent: The TDLib checks that all incoming messages and answers are dispatched in the correct temporal order. Reliable : TDLib can work on slow and unstable internet connections. Secure: All local data are encrypted. Asynchronous : Each call to TDLib doesnt block main thread. We use OpenSSL to provide security and encryption This library has also some dependency with OpenSSL. It also needs to use the Zlib compression library. This will mean we need to download those packages and include . or link the following third party binaries from them as you can see below: tdjson.dll libcrypto-1_1.dll libssl-1_1.dll zlib1.dll The Windows version of TDLib needs Visual C++ runtime that can be found at : https://www.microsoft.com/en-us/download/details.aspx?id=52685 How can I develop my own Telegram client in Delphi? The TDLib libray has a lot of exposed methods and despite the detailed documentation, it’s not so easy to deal with it directly. However the components suite of ESEGECE company does a lot of the hard work for you and provides the main methods to develop your own customized Telegram client. We’ve talked before about ESEGECE on the blog. Their components have a pretty wide range of uses and are definitely worth checking out. Is there a Telegram messenger component for use in Delphi? The first step will be to download the Websockets components suite of ESEGECE here in order to use their TsgcTDLib_Telegram component. Declare a new Telegram application To be allowed to connect to the Telegram Messenger cloud, you will need an API ID and API Hash Key. To get them, you will need to Sign up for Telegram cloud with any Telegram client. Log in to the site : https://my.telegram.org Go to API development tools and fill out the form and you will get api_id and api_hash parameters required for user authorization. Use TsgcTDLib_Telegram component Start a new VCL or FireMonkey FMX project with Delphi and drag drop the TsgcTDLib_Telegram component. You are ready to create your own Telegram client. How does a messenger app work? As for any […]
There are many popular JavaScript frameworks that offer a component-based approach to building web apps. However, most of these do not include any pre-built components. JavaScript developers are faced with the choice of either building these components from scratch or getting them from the community. You can develop web applications faster by using ExtWebComponents. ExtWebComponents includes 140+ pre-built and pre-tested UI components. ExtWebComponents provides all the components a developer needs to build data-intensive web apps. You get components that interact seamlessly, and are professionally built, tested and maintained. How can I build responsive designs with WebComponents? Developers can use the built-in Material design inspired theme, eliminating the need to construct custom styles and making it easy to create a fresh, modern user experience with minimal effort. Themes can also be easily modified or extended within Sencha Themer, enabling both developers and designers to create compelling themes without writing a single line of code. Fonts, colors, and padding can all be modified with ease to make components fit the motif of the application. Adaptive and responsive design enables teams to build immersive user engagement by using layouts and adaptive design features. A flexible layout manager helps to organize the display of data and content across multiple browsers, devices, and screen sizes. It helps developers to control the display of components, even for the most complex user interfaces. What are some of the features available in ExtWebComponents? Grid — Handle millions of records and provides built-in functionality such as sorting and grouping. Pivot Grid — Add powerful analytics functionality to React applications. Exporter — Export data from the standard grid or Pivot Grid to a wide variety of common formats. Layouts — Ensures the proper sizing and positioning of all components with the powerful and flexible layout system. Charts — Visually represent data with a broad range of dynamic and static charts including line, bar, and pie charts. D3 Adapter — Add sophisticated Data-Driven Documents package (D3) visualizations such as heatmaps, treemaps, sunbursts and more to your web applications. How can I integrate WebComponents with data? The robust data package included in ExtWebComponents decouples the UI components from the data layer. The data package: Allows client-side collections of data using highly functional models that offer features such as sorting and filtering. Is protocol agnostic, and can consume data from any back-end source. Comes with session management capabilities that allow several client-side operations, minimizing round-trips to the server. How can I see ExtWebComponents and GXT in Action? The following video covers using ExtWebComponents in GXT templates. It will start by showing how to quickly import ExtWebComponents into your project. Then show you how to construct a web component with an Ext JS web component. Then show you how to import your custom element into your GXT application. How can I build my own WebComponents? A web component can be considered a custom html element, like which is constructed below. Create a custom component with 3 easy steps. Start by declaring the reusable class element with the web component construction. Then register the class for which will be used for the components construction. Once you’ve constructed and registered the component you can declare it anywhere with // 1. Define the reusable component class MyViewElement extends HTMLElement { constructor() { super(); // The components html template […]
Would you like to enhance your application with Real-Time & Historical World Weather Data information? Wouldn’t it be nice to have a API to retrieve instant, accurate weather information for any location in the world in lightweight JSON format? More importantly, do you want to do all that with the smallest possible amount of code and yet keep it easy to understand and completely maintainable? Follow along for all this and more! The Low Code way to write apps In this article we will see how fast and easy it is to use RAD Studio and Delphi to create a Firemonkey multidevice application using the RAD Studio LowCode Wizard in addition to a REST client library to take advantage of WeatherStack API and retrieve a JSON format response for Current Weather, Historical Weather, Time-Series and Forecast API Endpoints. The WeatherStack API is easy to use with RAD Studio WeatherStack API offers instant access to current weather data for millions of global locations, powered by rock-solid data sources and refreshed in real-time. This is possible to be done for free (up to first 250 calls/month; no credit card required) and much more is available at very affordable prices and scalable to the use you make with no upfront commitments. The data comes from some of the largest weather stations and weather data providers in the world, all of which are closely monitored for consistency and data accuracy around the clock. Our RAD Studio and Delphi applications will be able to call the API and request information based on the name of the city you provide. How do I set up the WeatherStack API? Make sure you refer to WeatherStack API website (https://weatherstack.com/) and and sign up for the free Plan providing only your email and some basic information (no credit card required). Once you are in the website will redirect you to a Quickstart guide dashboard and your API Access Key will be provided. The Access Key unique, personal and is required to authenticate with the API. Keep it safe! How do I call WeatherStack API endpoints? Now all we need to do is to call the API base URL (http://api.weatherstack.com/) via a HTTP POST method with no JSON request body needed and some few requested parameters added to the URL address depending on the ednpoint we choose to call. One can do that using REST Client libraries available on several programming languages. WeatherStack offers several API endpoints to choose from: Current Weather: Get current weather data. Historical Weather: Get historical weather data. Historical Time-Series: Get historical time-series weather data. Weather Forecast: Get weather forecast for up to 14 days. Location Lookup: Look up one or multiple locations. Our demo will focus on the Current Weather Endpoint but all the others follow similar logic but with different parameters passed. For a complete and detailed list of endpoints and its parameters make sure you refer to WeatherStack Quickstart guide (https://weatherstack.com/quickstart) // Current Weather API Endpoint http://api.weatherstack.com/current ? access_key = YOUR_ACCESS_KEY & query = New York // optional parameters: & units = m & language = en & callback = MY_CALLBACK // Current Weather API Endpoint a href=“http://api.weatherstack.com/current”>http://api.weatherstack.com/current ? access_key = YOUR_ACCESS_KEY & query = New York // optional parameters: & units = m & language = en & callback = MY_CALLBACK What does the WeatherStack API […]
What is the Internet Protocol? The Internet Protocol is designed to implement a uniform system of addresses on all of the Internet-connected computers everywhere and to make it possible for packets to travel from one end of the Internet to the other. You may know it better as the “IP” in TCP/IP. There are various categories of internet protocols. These protocols are created to serve the needs of different types of data communication between different computers on the internet. Why use Python to interact with internet protocols? Python has extensive built-in modules to handle each of these communication scenarios. The methods and functions in these modules can do the simplest job of just validating a URL or also the complex job of handling the cookies and sessions. Because these models are built-in modules, no further installations are required. Read these articles, to see “How Python is Powerful for Dealing with Various Scenarios”: Delphi adds powerful GUI features and functionalities to Python In this tutorial, we’ll build Windows Apps with extensive Internet Protocols and Supports capabilities by integrating Python’s Internet Protocols and Supports libraries with Embarcadero’s Delphi, using Python4Delphi (P4D). P4D empowers Python users with Delphi’s award-winning VCL functionalities for Windows which enables us to build native Windows apps 5x faster. This integration enables us to create a modern GUI with the Windows 10 look or style and responsive controls for our Python applications. Python4Delphi also comes with an extensive range of demos, use cases, and tutorials. We’re going to cover the following… How to use http, ipaddress, smtplib, urllib, uuid, webbrowser, and wsgiref Python libraries to interact with Internet Protocols and Supports All of them would be integrated with Python4Delphi to create Windows Apps with Internet Protocols and Support capabilities. Prerequisites Before we begin to work, download and install the latest Python for your platform. Follow the Python4Delphi installation instructions mentioned here. Alternatively, you can check out the easy instructions found in the Getting Started With Python4Delphi video by Jim McKeeth. Most of the modules above require the presence of the system-dependent module socket, which is currently built-in support on most popular platforms. Getting started with Python4Delphi First, open and run our Python GUI using project Demo1 from Python4Delphi with RAD Studio. Then insert the script into the lower Memo, click the Execute button, and get the result in the upper Memo. You can find the Demo1 source on GitHub. The behind the scene details of how Delphi manages to run your Python code in this amazing Python GUI can be found at this link. Open Demo01.dproj. 1. How to use the Python http package? We can use the http package for working with the HyperText Transfer Protocol. http is a collection of these modules: http.client is a low-level HTTP protocol client; for high-level URL opening use urllib.request http.server contains basic HTTP server classes based on socket server http.cookies has utilities for implementing state management with cookies http.cookiejar provides persistence of cookies http is also a module that defines a number of HTTP status codes and associated messages through the http.HTTPStatus. The following is a code example of http package to learn about HTTP Statuses (run this inside the lower Memo of Python4Delphi Demo01 GUI): from http import HTTPStatus print(HTTPStatus.OK) print(HTTPStatus.OK == 200) print(HTTPStatus.OK.value) print(HTTPStatus.OK.phrase) print(HTTPStatus.OK.description) print(list(HTTPStatus)) from http import […]
If you’re an online service or a product, knowledge about your user base is one of the first and most important mechanisms to maintain customer retention by designing modules in accordance with customer preferences. Essentially, it will help your service generate hits and eventually boost the market value of your product or service. GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. It provides a complete and understandable description of the data in your API and gives clients the power to ask for exactly what they need and nothing more. GraphQL makes it easier to evolve APIs over time and enables powerful developer tools. In this blog post, we’ll look at how we can use the power of GraphQL to seamlessly create an end-to-end user information base with Sencha Ext JS. How can I quickly set up a GraphQL HTTP server? If you do not currently have an Apollo Server for GraphQL running on NodeJS you can follow this tutorial to set one up. It mainly involves installing the dependencies like this: npm install apollo-server graphql To set up the server-side responders for your GraphQL interface, you just need to define the schema that interacts with the endpoint logic. You can design the User schema as follows. const { ApolloServer, gql } = require(‘apollo-server’); const typeDefs = gql` type User { firstName: String lastName: String username: String email: String } type Query { users: [User] } `; Once you have defined the user schema, you now need to configure the relevant resolvers; user resolver in our case. Resolvers are used to define the technique for fetching the types defined in the schema. const resolvers = { Query: { users: () => users, }, }; Now, we need to start the server so that it can be used by our Sencha Ext JS client (that we will create in the next section). const server = new ApolloServer({ typeDefs, resolvers }); server.listen().then(({ url }) => { console.log(`Server ready at ${url}`); }); How can I create a GraphQL schema in Ext JS for the user information base? We now have our server up and running. Next up is the GraphQL schema definition in Sencha Ext JS. Define your schema and query as follows. type Query { getUsers( limit: Int offset: Int orderBy: String filter: String ): Users user(id: Int!): User } type User { username: String firstName: String lastName: String email: String } type Users { count: Int users: [User]! } What is an easy way to integrate GraphQL HTTP server with Sencha Ext JS client? Before initializing the Sencha application and writing a script to interact with the server using GraphQL patterns, the following dependencies must be installed. npm install –save @apollo/client npm install –save graphql Once you have installed the required dependencies, import them into the application to use them as follows. require(‘graphql’); GraphQLApp.xApolloClient = require(‘@apollo/client/core’); While launching the Sencha application, you need to create a singleton instance of Apollo Client to manage API calls and requests to the server using GraphQL patterns. Ext.define(‘GraphQLApp.GraphQL’, { alternateClassName: [‘GraphQL’], singleton: true, client: null, initClient(baseUrl) { this.client = new GraphQLApp.xApolloClient.ApolloClient({ cache: new GraphQLApp.xApolloClient.InMemoryCache({}), uri: baseUrl, defaultOptions: { query: { fetchPolicy: ‘network-only’, errorPolicy: ‘all’, }, mutate: { errorPolicy: ‘all’, }, }, }); }, }); Finally, send […]
We are pleased to announce that the next version of Delphi, C++Builder and RAD Studio will be version 11. This is currently in the works and we plan to release it later this year. Moving to Version 11 A few years back, Embarcadero decided to match the version number of the two primary desktop operating systems we target (Windows 10 and OS X, later renamed macOS 10) with a series of RAD Studio 10.x releases: 10 “Seattle”, 10.1 “Berlin”, 10.2 “Tokyo”, 10.3 “Rio”, and 10.4 “Sydney”. In light of the recent changes in macOS versioning (currently at version 11) and Microsoft’s recent announcement of a coming Windows 11 version, we have decided to change our product numbering scheme accordingly. Windows, in particular, remains a key target for us, with the best library to build Windows client UI applications, our own VCL and we want to underline this strong connection. Therefore, the next major release of RAD Studio, Delphi and C++ Builder, originally expected to be 10.5, is going to be version 11. We expect it to be followed by minor updates with version numbers like 11.x and a future new major release called 12. RAD Studio 11 will build on the great features introduced in RAD Studio 10.4 series and will add new features and enhancements throughout the product, with particular focus to the Integrated Development Environment (or IDE), that is, the RAD Studio application itself. The Olympus Beta Program At the same time of this version number announcement, we are pleased to invite all of our RAD Studio customers with an active update subscription to the NDA beta program for Embarcadero’s Delphi, C++Builder, and RAD Studio 11, codenamed “Olympus”. Differently from the past, there are two separate beta programs, one for Premium Update Subscription customers and the second for all other Update Subscription Customers (the beta program, in fact, is reserved to customers with an active subscription). The Premium beta program includes as an extra benefit an online forum for beta-related feedback and discussion, where you can engage with product experts, product managers, and fellow beta testers. How to join for Premium Subscription Customers Premium subscription customers have received an email invite (sent to the primary contact for their subscription) and can join by adding their registration email address to a specific form included in the communication. If you haven’t received it and want to join the Premium beta, you can reach out to your sales representative or reseller partner. How to join for regular Subscription Customers: We have also sent an email to all subscription customers, indigent them to participate in the regular beta. In case you haven’t received it, please provide your name and the email address associated with your Update Subscription (the email you used to register the product) using this form by Friday, July 16, 2021. For both groups, once you’ve provided your email address, you will receive a follow-up email later in July, with a link to electronically sign the Olympus Beta NDA. After signing the NDA, you will be provided with the information needed to participate in the beta. Please note that we recommend against installing beta versions on a production machine. Join the Subscription to Join the Beta Not currently on subscription but interested in joining the Olympus beta to get a […]
Invormațiile pe cale Dvs le introduceți în prezentul formular nu se păstrează online, dar se vor transmite direct la destinație. Mai multe informații găsiți în Politica Noastră de Confidentialitate
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.