Delphi

Everything You Need To Use REST In Your Apps Now

What is REST and why should I learn more about it? REST is a type of software architecture that was designed to ensure interoperability between different Internet computer systems. Basically, the idea is that services that comply with REST architecture can more easily communicate with one another whether you are designing mobile apps, Linux, macOS or it purely native windows development. REST stands for representational state transfer and it was proposed by computer scientist Roy Fielding’s 2000 PhD thesis, Architectural Styles and the Design of Network-based Software Architectures, in which he introduced and described REST. The goal of REST is to increase performance, scalability, simplicity, modifiability, visibility, portability, and reliability. This is achieved through following REST principles such as a client–server architecture, statelessness, cacheability, use of a layered system, support for code on demand, and using a uniform interface. Where can I download Roy Fielding’s Original PhD thesis about REST? You can have access to the complete original Roy Fielding’s 2000 PhD thesis here! Since long time ago Mr. Fielding was deeply involved in the web’s early development and standardization, he began working at and for the World Wide Web Consortium in 1994 and co-authored the HTTP 1.0 specification. Later he was the main author behind the HTTP 1.1 and URI specs also co-founded the Apache web server project. The name “Representational State Transfer” is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through the application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use. Fielding’s approach was to make sure that the REST architectural style emphasises the scalability of interactions between components, uniform interfaces, independent deployment of components, and the creation of a layered architecture to facilitate caching components to reduce user-perceived latency, enforce security, and encapsulate legacy systems. What do the different REST terminologies mean? REST does not enforce any rule regarding how it should be implemented at lower level, it just put high level design guidelines and leave you to think of your own implementation. What we do have is the definition of 6 architectural constraints which make any web service – a true RESTful API. Client–server: By separating the user interface concerns from the data storage concerns, we improve the portability of the user interface across multiple platforms and improve scalability by simplifying the server components. Stateless: Each request from client to server must contain all of the information necessary to understand the request, and cannot take advantage of any stored context on the server. Session state is therefore kept entirely on the client. Cacheable: Cache constraints require that the data within a response to a request be implicitly or explicitly labeled as cacheable or non-cacheable. If a response is cacheable, then a client cache is given the right to reuse that response data for later, equivalent requests. Uniform interface: By applying the software engineering principle of generality to the component interface, the overall system architecture is simplified and the visibility of interactions is improved. In order to obtain a uniform interface, multiple architectural constraints are needed to guide the behavior of components. REST is defined by four interface constraints: identification of […]

Read More

What Is The Next Big Thing in Blockchain?

Cryptocurrencies like Bitcoin use enormous amounts of energy to secure their network. But why are cryptocurrencies so power-hungry and more importantly what are the alternatives? Much of the hardware used to perform the calculations uses highly specialized computers running Linux collaboratively in “farms” although there are many crypto “mining” apps which are Windows based or uses Windows program development even if their eventual targets are not Windows-based machines. Why is proof-of-work a problem for Bitcoin? Mining new coins take a lot of computing power because of the proof-of-work algorithm. The concept was first presented in 1993 to combat spam emails and was formally called “proof-of-work” in 1997. Nevertheless, the technique went primarily unused until Satoshi Nakamoto developed Bitcoin in 2009. He discovered that this mechanism could be used to reach harmony between many nodes on a network, and he utilized it as a way to secure the Bitcoin blockchain. Yet the proof-of-work algorithm works by having all nodes solve a cryptographic puzzle. This puzzle is solved by miners (the metaphor is drawn from the concept of them extracting their fortunes from hard physical work) and the first one to find the solution receives the ‘miner reward’. This has directed to a situation where individuals are building bigger and larger mining farms in order to share the effort in a “many hands make light work” team effort. The advent of lower cost hardware with a more affordable “bang to buck” ratio – more CPU power for a given financial outlay – coupled with a very broad expansion in the availability of single board mass-produced hardware such as the Raspberry Pi and RISC-powered boards has meant these kinds of mass-computing networks are achievable at a modest level of investment. Bitcoin miners alone use almost 54TWh of electricity, enough to power 5 million households in the US or even power the whole country of New Zealand Will blockchain contribute to global warming? Maybe. Blockchain calculations are shaping up to become a power-suck of worrying proportions. Even accounting for the lower power consumption of modern hardware the sheer computational effort involved and a trend toward coupling dozens, hundreds or even thousands of machines together to obtain the financial rewards which, due to its nature is increasingly hard to obtain and, in the case of Blockchain, harder means more CPU cycles and more CPU directly translates into a greater demand for electricity. According to Digiconomist, Bitcoin miners alone use almost 54TWh of electricity, enough to power 5 million households in the US or even power the whole country of New Zealand. But it does not halt there.  It’s currently a simple equation: proof-of-work gives more bounties and thus greater rewards, to people with better and more plentiful equipment. The higher your hash rate (the number of calculations you can perform on the data), the higher the chance that you’ll get to create the next block and obtain the mining reward. To increase the chances even further, miners have come together in what’s called “mining pools”. With mining pools, they combine their hashing power and distribute the reward evenly across everyone in the pool. Proof-of-work is causing miners to use massive amounts of energy and it encourages the use of mining pools which makes the blockchain more centralized as opposed to decentralized. So, to solve these […]

Read More

How to Master Ethereum in 6 Simple Steps

What is Ethereum and how is it different to Bitcoin? Whether your focus is on native windows development or for mobile, cross platform targets, Ethereum is the community-run technology powering the cryptocurrency ether (ETH) and thousands of decentralized applications. Ethereum is widely called “the world computer” or “general-purpose blockchain”. Ethereum is an open-source platform written on smart contracts. It keeps smart contracts on blockchain and charges every time someone wants to alter something in the code by taking fees known as GAS. You can build anything with Ethereum, from websites to applications and games. Ethereum is different in many ways from Bitcoin, and you can do more with Ethereum. You can make any type of program in Ethereum because of its Turing complete feature. Moreover, Ethereum tracks the state of data stored on the blockchain. The data is in key-value pair which, means if the value is “Delphi” the key will be “c++builder”. This even runs the code and stores the data with the help of Ethereum Virtual Machine (EVM). Additionally, in Ethereum, the state changes when all the participants agree with each other to avoid fraud or misuse of the system. How can I start building Ethereum Apps with Delphi? First of all, Delphi is a development environment where you can build and compile native applications for Windows, iOS, macOS, Android, and Linux. Delphereum is a Delphi interface to the Ethereum blockchain that allows for the development of native dapps (decentralized applications). Delphereum supports every EVM-compatible network, including (but not limited to): Arbitrum Optimism RSK xDai Binance Smart Chain Polygon What is a smart contract? A smart contract is a calculation that takes place on a blockchain or distributed ledger. You can think of a smart contract as a microservice that operates trustless on the backend of your application. Smart contracts can have many applications, ranging from sports betting to online voting. But the true power of smart contracts is in managing assets that have value and are scarce. Once added to the blockchain, a smart contract becomes public and cannot be modified or removed. This assures your users that the rules are transparent and will never change.  What is a dapp? DApp – dapp -> is an abbreviated form for decentralized application. A DApp has its backend code running on a decentralized peer-to-peer network. Contrast this with an app where the backend code is running on centralized servers. A DApp can have frontend code and user interfaces written in any language (just like an app) that can make calls to its backend. Furthermore, its frontend can be hosted on decentralized storage such as Swarm or IPFS. How to start developing DApps with Delphi and Delphereum? We have been serving you valuable posts and tutorials about Blockchain technology, and I would like you to check out some of them here. Then we have a set of tutorials that you can follow to learn how to: connect Delphi to a local (in-memory blockchain)? connect Delphi to the Ethereum main net? connect Delphi to smart contracts? create smart contracts with Delphi? create Ethereum-signed message signature in Delphi? transfer ether with Delphi? and more. You can find them from this tutorial:  What is the best way to learn how to use Ethereum, Bitcoin and other cryptocurrencies in my apps? The best way to learn real-World case studies is to continue […]

Read More

What Is A Language Server Protocol (LSP) Anyway?

Have you ever wondered how web browsers can offer smart text options such as auto-fill and hover translate/definition? This is made possible through complex development tools, or IDE Software (Visual Studio, Vims, Eclipse, RAD Studio) tailoring features for each server (C/C++, Java, Python, etc.). This used to be a repetitive process, as each development tool would have to customize its programming language to be read by different servers, which have specific requirements.  When Microsoft introduced the language server protocol (LSP) in 2016, it facilitated an open-code, standardized way to communicate between all development tools and servers. Today, developer companies like Red Hat are continuously adding to the protocol, and programming languages are offering their own LSP capabilities. What is an LSP? A language server is a text-based, standardized language library that uses its own procedure (protocol) through an infrastructure called JSON-RPC (JavaScript Object Notation – Remote Call Procedure). In this instance, JSON (an open-code file format) uses a procedure or method instead of an API (application programming interface) endpoint.  With LSPs, developers can simply integrate these libraries to their editors and refer to existing language infrastructures instead of customizing their codes one server at a time.  For editor builders, they only need a single protocol to support different languages. For language developers, they only need to implement their code in one server to be compatible with numerous editors. Why do we need LSPs? There are two main ways that LSPs have made the coding process easier. Centralized communication. Before LSPs, developers had to duplicate their efforts across major servers, which was time-consuming. With LSP support becoming a service, developers can now focus on integrating LSP into their editors/ integrated development environment (IDE) and expanding their capabilities. Enabled developers to use different editors instead of sticking to just one. Developers can experiment with different plugins and work directly from different IDEs. A word of caution, though.  LSPs are still a work in progress, and not all programming languages are equal. Some languages don’t enjoy the same extensive server support as the more developed ones do. Some protocol extensions are also still server-specific. Still, this concern sits on the developers’ shoulders and not the LSPs. How can I use an LSP? A typical session goes like this. Suppose a user wants to add a ‘Go to Definition’ feature to a document.  When a user opens a document in their IDE, the tool sends a notification to the language server. The tool keeps the file version in memory at this point (instead of in the file directory), which allows all edits to be synced between the tool and the server. Next, the server acknowledges and analyzes any changes that the user implements on the document. If there are any errors, the server will notify the tool.  The user will then send a definition request with specific parameters. The server reflects this request immediately.  Finally, when the user closes the document, the tool informs the server that the document is no longer in memory and has returned to its file location. In general, the editor requests are simplified and the programming language is neutral, which eliminates complexities and confusion. To further standardize LSPs, there are two major software development kit (SDK) libraries that programmers can refer to. First is the development tool SDK, which […]

Read More

This Is The Blockchain And It May Rule The World

If you write apps, whether it be native Windows development, or perhaps targeting a broader market encompassing mobile devices, cryptocurrency is an area of incandescent growth and potential opportunity. Like the white-hot-topic of AI, cryptocurrency is a new frontier, and it seems everybody wants to stake their claim. Cryptocurrency has evolved into a global sensation in recent years, although much is yet to be learned about this evolving technology. Numerous concerns and worries are stirring around technology and its capacity to disrupt traditional financial systems. Cryptocurrency innovators wish to claim that these new forms of monetary exchange are all financial ‘trustless’ systems that are not directly tied to any government or nation-state. But some claim that cryptocurrency, non-fungible tokens – NFTs, the buzz word of the moment, and Blockchain, the technology underpinning these wispish intangibles, are an independent and reliable system. According to Joseph A. Grundfest, an American academic, regardless of whether you think that’s a good or bad thing, it is not entirely accurate. Cryptocurrencies are still reliant on the underlying infrastructure powering cryptocurrencies like Bitcoin, much of which is located in China. So, the Chinese government could theoretically push changes to cryptocurrencies at a fundamental level by setting its will on the data miners who keep them operating. What is the story of NFTs and art? Right now, NFTs are dominating the tech news. News media loves to gorge on stories of life-changing amounts of money being paid for an NFT associated with a piece of art, particularly focusing on facts like the buyer has, in effect, got nothing tangible to show for their hard-earned cash. Combine that with the use of AI to produce original and unique paintings and artworks and you have an almost impossible to resist temptation for a journalist looking to fill out a blank page with some exciting headlines: “anonymous author pays a million dollars for an NFT of an abstract painting by an AI artist”. As a tech person, this use of Blockchain, to secure the details of the sale, might look frivolous when compared to the many different companies solving complex problems with Blockchain and AI. While some others are generating similar non-human “art pieces” using AI or one of the many open-source projects that use layers of images which they combine to generate dozens of variations of images for you to sell online, in the NFT market. It’s less of Bob Ross and more Robot Ross. What is an NFT? NFT stands for “Non-Fungible Token”. This means that you can interchange one asset, here in our case images or animated NFT. This is a unique digital asset representing objects like digital artworks, tweets, pictures, videos, and music. The NFT acts a little like a digital checksum – except it’s a checksum of a moment in time combined with an object. So, the NFT refers to a very specific image or group of images in a way which is incontrovertibly that object or objects. A bit like having a postal code for a train which always meant that someone sending a letter to that postal code would always end up reaching the train no matter where it was or when you sent the letter. It’s a weird thing worthy of the best Wachowski sister movie plot. Hard to understand until someone explains […]

Read More

This Is The Blockchain: Expectations vs. Reality

We have discussed Blockchain technology in our “Everything You Need To Know About Blockchain” article. In that article we have learned about: Immutability Distribution How trust issues can be resolved with Blockchain Blockchain in the financial industry High integrity with Blockchain – and more You might find it useful to read that article first as a useful overview of what people mean by The Blockchain. We also talk about cryptocurrencies built with Object Pascal/Delphi programming language. What is the blockchain? Blockchain is simply a database containing a growing list of records named blocks, linked, and secured using cryptography. Each block holds a hash pointer that links to a previous block, timestamp, and transaction data. So, now we have a chain of blocks or just blockchain as many people call it. To point out that this chain of blocks or database is open, distributes system with every participating computer maintains a copy. What are the expectations of Blockchain? Market investigation indicates that blockchain technology will rule the future because of its many benefits like: Data transparency Immutability Decentralization Security A growing number of people think Blockchain is the future because it inspires a new generation of platforms that are easy to use, accessible, scalable, and interoperable. What is the reality of Blockchain? Despite the possibility that blockchain technology is not supported by many countries because of limits and control over blockchain projects. For instance, governments are fighting to not utilize Blockchain. Unless if blockchain technology matures through enough reforms to support the problems that we are having, it can be applied to every field of our society. Until now, blockchain technology has been a massive breakthrough in the financial industry: Cryptocurrency Decentralized Finance (DeFi) Art Collectibles – Non-fungible token (NFT) When companies started to accept cryptocurrencies, people started looking at the underlying technology that made cryptocurrencies possible. They are based on the basic concepts of cryptocurrencies applied to the deployment of general-purpose applications. These applications are called Smart Contracts, and this defines the business logic and after deployment to the network, it can be used to implement different use cases securely. Is it really worthwhile to integrate Blockchain technology? Technologies take time to be accepted by everyone. Blockchain technology can be a problem in some cases with specific people. But we can see that the financial industry is benefiting from this technology because it offers immutability, transparency, and reliability. For example, Blockchain has all the needed features in supply chains. Supply chain data is not always perceptible, available, or trusted. But blockchain technology helped them to create authenticity over these problems.  How to create decentralized applications with smart contracts in Delphi? You can utilize Delphereum which is an interface for the Ethereum blockchain that allows native development of decentralized applications using the Delphi programming language. In fact, the stability, security and blinding speed of Delphi native applications means it’s ideally suited to the task, Moreover, you can find samples of applications for starting your project with the Ethereum distributed computing platform. You can check out the post below to learn about using Ethereum with Delphi, smart contracts, and more helpful topics. Next-Generation Cryptocurrency – Pascal Pascal, also known as PascalCoin, is a fast, zero-fee, scalable, and decentralized multi-purpose blockchain designed for payments, data operations, and layer-2 applications. Enabled by the SafeBox technology to become the world’s first […]

Read More

How To Automate Large Numbers Of Delphi Project Builds

What is build automation? Despite the ever-increasing rise of mobile devices, desktop applications are still the backbone of enterprise environments. Typically, these enterprise solutions are made up from multiple discrete modules which are harnessed together to create an application suite. But even applications which are themselves monolithic there may exist multiple versions at any one time either to target specific use cases and operating systems or to provide for trialing versions of new functionality. It’s often quite complicated to keep on top of situations like this. It can really become overwhelming once you start to factor in things like cross-platform multi-device targets and functionality which includes localization into different languages such as a user interface which supports English, French, German, Spanish and so on Automating the builds of applications can be a huge improvement for developers who need to make various build scenarios and make repeated actions automatic. Automation can also help prevent mistakes which can creep in during repetitive and tedious tasks as our minds start to wonder or we lose focus. When we think about building web or mobile applications, we can think about techniques such as continuous integration and development pipelines or CI/CD as it’s more commonly referred to. Despite the benefits, developers are still often slow to utilize CI/CD for building and automating the builds and tests on desktop applications. Here’s a few suggestions on things to consider incorporating into your development and release processes which might help. How can I automate Delphi project builds? There are dozens of different solutions available to automate the process of building Delphi projects, but in this spotlight, we’re going to talk about MiTeC Project Maker and with a bonus solution at the end. What is MiTeC Project Maker? MiTeC Project Maker is a tool for automated batch Delphi projects building. With the Project Maker, you can set compiler configurations, define actions processed before and after building, patch version information of built binary, sign that binary with a specified code-signing certificate, apply for 3rd-party software protection, and many more. How does Project Maker work? Project Maker offers a clear powerful interface for project building task definition. Each project can contain an unlimited number of tasks. A ‘task’ represents a Delphi project as defined in a dpr or dproj file. Moreover, Project Maker features Profiles, where you can specify common properties for a project. The project can have an infinite number of profiles. By utilizing profiles, you can simply switch between a variety of build configurations.  Compiler Directives & Options Build options Signing tool Form Cleaner Versioning and more How can we use GitHub Actions to supercharge our GitHub workflow? With GitHub Actions, you can automate, customize, and execute your software development workflows right in your repository.  GitHub Actions are event-driven, meaning that you can run a series of commands after the specified event occurred. For instance, you can set a trigger to pull request event, and when there is a new change GitHub Actions starts code testing. Without any CI/CD integration, you can have everything with GitHub Actions. It gives end-to-end CI and CD capabilities. Additionally, it is in your GitHub repository. How do I use GitHub Actions on Delphi projects? One of the Delphi MVPs, Darian Miller, has written a number of useful articles and tutorials on Delphi. On his RADAuthenticator blog series, he shared his experience on configuring GitHub Actions with […]

Read More

The Pros And Cons Of Artificial Intelligence

Artificial Intelligence, or AI as we have come to refer to it, is a broad-ranging branch of computer science that focuses on automatic ‘thinking’ programs or machines that aim to imitate humans’ problem-solving and decision-making capabilities. Contrary to popular belief, artificial intelligence is built for humans, not to replace us but to make our jobs easier and augment our own abilities.  According to a recent article in Statistica in 2020, “the global total corporate investment in artificial intelligence (AI) reached almost 68 billion U.S. dollars, a significant increase from the previous year”. Also, another report titled “Global Artificial Intelligence in Retail Market Facts & Factors” projects the AI retail market will reach 20.5 billion U.S. dollars by the end of 2026, expanding at CAGR by 39% between 2020 and 2026. However, this parabolic growth in the artificial intelligence industry has led many to ponder what kind of impact AI has already had and will have in the future, with some doubting if AI’s effect will ultimately be for the benefit of society as a whole. What are the Pros of artificial intelligence? Over the years, artificial intelligence has found use cases in various industries, some of which constitute its pros. This article goes through a few of the views of either side of the arguments. Can AI really be useful to make ‘smart’ apps? In our daily life, artificial intelligence has numerous applications. For example, AI, and more specifically, machine learning, is used in face detection when taking pictures with smart devices. It helps in recognition of our live voice chat in smart devices such as Alexa, Apple’s Siri and even Cortana. In Google, the AI provides the facility of typing and responding purely by voice. This is one of the best uses of artificial intelligence. AI also provides direction and mapping in our navigation devices to assist with driving navigations to exact locations. The early navigation solutions were purely algorithmic, using mathematical techniques such as path analysis and optimization and the wonderfully named “simulated annealing” to pluck a good route from the myriad possibilities. Now those navigational instructions are enhanced with AI and machine learning to adapt to traffic conditions it has ‘learned’ have a negative impact on an otherwise good choice of route. Apple devices, for example, will suggest a good time to leave for your regular commute. In common with others it will also pick the nearest restaurants it ‘knows’ you like and apply filters to avoid ones it has learned you dislike. It’s not true AI as such but it’s as close as we have in many ways right now and, overall, I think we’d collectively see it as a great use of ‘smart’ apps. Until the navigation instructions try to get us to make a sea crossing in our car without a ferry – and we’re all surely ‘benefitted’ from the satellite navigation trying to get us to “drive a stupid route five miles out of the way” when our local knowledge knows that there is a shortcut which works better. Are they useful? Yes – anyone who remembers navigating with paper roadmaps or hastily sketched notes definitely appreciates the instant turn by turn instructions spoken by the friendly AI-backed GPS navigation. Is it an Analogue Helper? When we say ‘analogue helper’ we mean can […]

Read More

5 Apps To Help You Manage Your Automation

Advances in control system technology and robotic process automation software are changing how enterprises view and manage business processes and workflows. From improved asset utilization, faster process completion, to real-time data access, automation opportunities are limitless. However, many companies find automation projects challenging to execute as it takes more than “just technical skills” to successfully manage one. You need to ensure you’re leveraging tools that will improve operational efficiency and performance.  Here are five apps you can leverage for successful, rock-solid automation at maximum speed: Did you know Delphi is the fastest and most efficient way to manage automation projects? RAD Studio Delphi is the most powerful Object Pascal IDE and component library for single-source multi-platform Native App Development with flexible Cloud services and broad IoT connectivity. It provides modernized VCL controls for Windows 11 and enables FMX development for Windows, Mac, and Mobile. Delphi is your choice for ultrafast Enterprise Strong Development. Enhancements include support for high-DPI and 4K+ screens, extended multi-monitor support, improved Object Inspector, and much more. Delphi is 5x faster for development and deployment across multiple desktops, mobile, cloud, and database platforms, including Windows 11. Successful automation projects require communication and organizational skills. With Delphi’s enhanced Remote Desktop support (for VCL and IDE), you easily collaborate remotely with your team. Is C++ Builder the ultimate answer to robust, lightning-speed automation projects? C++ Builder is a rapid C++ application development toolset for native Windows, Mac, and Mobile development, with broad Cloud and IoT support. It features updated CLANG 3.3 and C++11 support with the fastest Windows 11 and multi-device development tools. It also allows you to connect natively to over 20 databases like Oracle, SQL Server, MySQL, and more with FireDAC’s high-speed direct access. C++Builder comes with hundreds of components for every task, from creating user interfaces to database connectivity, enabling easy and fast builds for connected business applications on desktop and mobile platforms. In addition to the included VCL and FireMonkey components, a broad range of tools and components are available from the Delphi and C++Builder communities. How can PyScripter leverage Python and Delphi’s winning team for automation? PyScripter is a free and open-source IDE that supports writing, editing, and running python scripts. It has all the features expected in a modern Python IDE in a lightweight package. It’s also natively compiled for Windows to use minimal memory with maximum performance. Although it’s a simple and easy-to-use IDE, it contains more than enough features for professional users. PyScripter is fully developed in Delphi with huge extensibility via Python scripts. Some of its features include: Syntax Highlighting Editor Integrated Python Interpreter Full Python debugging with support for remote debugging Integrated Unit testing Integration with Python tools like PyLint, TabNanny, Profile, etc. Full support for encoded Python source Remote Python Debugger Run or debug files from memory Code Explorer To-Do List Find and Replace in Files Integrated regular expression testing Choice of Python version to run via command line parameters Run Python Script externally (highly configurable) Modern GUI with docked forms Persistent configurable IDE options Have you looked at Embarcadero Dev-C++, the ultra-light C++ power tool? Embarcadero Dev-C++ is a new and improved fork of Bloodshed Dev-C++ and Orwell Dev-C++. It is a full-featured Integrated Development Environment (IDE) and code editor for the C/C++ programming language. It uses […]

Read More

Appercept’s New AWS SDK For Delphi, Available With RAD Studio And Delphi Enterprise and Architect

Embarcadero today introduces a brand new first-class AWS client library for Delphi, soon to be included in the Enterprise and Architect editions of Delphi and RAD Studio. Given the relevance of Amazon Web Service cloud infrastructure in today’s IT landscape, including an AWS library in our product offerings delivers substantial added value to our customers. The Agreement With Appercept Embarcadero has reached a two-year exclusive distribution agreement with Richard Hatherall, the UK-based owner of Appercept, on the company’s “AWS SDK for Delphi”. The deal includes an initial preview, with additional features to be released over time. The AWS library and updates will be available via GetIt, and limited to customers on Enterprise and Architect with active update subscription. Customers using the AWS library also get support by Appercept through Embarcadero’s own support team. The library does not currently support C++Builder, but there are plans to provide C++ support for the AWS SDK in the future. Why An AWS SDK For Delphi Amazon Web Services (AWS) is the world’s leading cloud service today, with well over 50% market share. AWS offers many services, from storage and orchestration to AI services and insights, and it’s leading a transformation in the industry. The availability of an easy-to-use, high-profile AWS SDK for Delphi from Appercept will make it much easier to use AWS cloud services in Delphi client applications, both for desktop and mobile, and will be particularly useful when building server applications, especially if they are deployed in the AWS infrastructure. Closer Look: What to Expect From the Appercept AWS SDK for Delphi The Appercept AWS SDK for Delphi makes heavy use of modern language and framework features, from PPL (Parallel Programming Library) to anonymous methods for async operations, as required by a good REST client framework. This library offers direct mapping to the AWS APIs, starting with a few services like storage (S3) and notifications (SNS) plus a solid support of user accounts and access permissions. Not only does this SDK make the APIs available as direct calls (mapped internally to Delphi’s HTTP client library as needed), it also offers many easy-to-use constructs and data structures, so that the most common AWS operations will require a very limited amount of code while allowing developers to focus on their business logic. The library comes with extensive documentation and demos, making it easy to embrace. It also ships with full source code, enabling users to learn how the solution works and debug it directly within their applications. Want a quick demo? This is all you need to write to have a list of S3 buckets (or folders): uses AWS.S3; var  S3Client: IS3Client; begin  S3Client := TS3Client.Create;  var Response := S3Client.ListBuckets;  for var BucketName in Response.Buckets do    ListBox1.Items.Add(BucketName); uses AWS.S3; var  S3Client: IS3Client; begin  S3Client := TS3Client.Create;  var Response := S3Client.ListBuckets;  for var BucketName in Response.Buckets do    ListBox1.Items.Add(BucketName); What To Do Next If you missed the “Introducing Appercept’s AWS SDK for Delphi” webinar on the 15th of December, you can catch the webinar replay soon after. We’ll post the link here as soon as it’s available. We will also be posting additional information as new features are added and coverage of AWS services grows. For questions, inquiries and additional information please contact me (Marco Cantu).

Read More