New Year resolution – Modernise your Delphi Code

This year is the year to modernise….

Time seems to fly by and prioritising keeping code up to date on the latest versions is for some a struggle. 2016 has delivered a number of compelling reasons to make this year the year to keep your new years resolutions and finally modernise your C++Builder / Delphi code.

This blog post will offer a few good reasons to keep that resolution and places to start to help you modernise your existing code and gain value from it for years to come.

RAD Studio Development today

From Windows 3.1 to Windows 10 – Delphi and C++Builder (the siblings that live together in the RAD Studio IDE) have been powering software developers to easily wrap up the Windows API since the 1990’s.

Today – these same developers are modernising their existing code for mobile, macOS and the new Windows 10 Stores – earning more from their existing code investment. Additionally, existing client server applications are being modernised into powerful restful servers, in part to facilitate mobilisation, but also to rapidly transform existing profitable business logic into the hub of a modern technological architecture.

Windows 10

In August 2016 , Microsoft released the Windows 10 Anniversary update, which followed later in the year with the opening of the Windows 10 Store for applications packaged to use the Windows Desktop Bridge.

Windows 10 Desktop bridge support in 10.1 Berlin arrived in Update 2 (15th November 2016) and subsequently there has been a lot of interest around how developers can package existing Windows Applications for the Windows 10 Store directly from the RAD Studio IDE.

Microsoft have shared publicly via twitter and MSDN that RAD Studio is an approved 3rd Party Installer for packaging Desktop Bridge applications, something (at the time of writing) no other IDE on the market, including Visual Studio offers.

Visit the RAD Studio Windows 10 Desktop Bridge page for more information and overview and how to modernise videos.

RAD Server

With the RAD Studio roadmap pointing towards Linux compilation, migrating to a specialist middle-tier is a move likely to provide strong competitive advantage for developers this year.

RAD Server enables developers to quickly build new application back-ends or migrate existing Delphi or C++ client/server business logic to a modern services based architecture that is open, stateless, secure and scalable. RAD Server is easy to develop, deploy and operate making it ideally suited for ISVs and OEMs building re-deployable solutions.

Built in support that I previously covered for YAML makes it super flexible for sharing with other developers, regardless of the language they use.

One thing I do love about RAD Server are ThingPoints™ – the way you can expand an already deployed RAD Server with remote devices dynamically into a network of IoT devices is amazing and certainly one to watch out for more on in 2017!

If you haven’t read and watched it already, I suggest looking at this excellent migrating to RAD Server case study from Malcolm Groves at Code Partners.

Look at what the cool kids are doing!

Certainly, if you haven’t checked out the cool apps contest winners, its worth a look (or maybe even entering).

As many cool apps show, keeping your code modern and flexible helps save time and gets you to new markets faster. The modern VCL and FMX frameworks and their supporting cross platform “system.” libraries enable developers to take advantage of not just a single cross platform ready codebase, but are built on top of modern language features such as unicode, generics, RTTI & attributes, automatic reference counting and more.

Need to update or refresh your Delphi language skills? For those on the latest RAD Studio / Delphi / C++Builder with update subscription you can download Marco Cantu’s latest Object Pascal book for free! – Note during 2016, Embarcadero moved to the update subscription model with 10.1 Berlin bundling 1 years subscription – subsequently if you purchased 10.1 Berlin, you are on update subscription

Resources

Beyond DocWiki – e.g. on RAD Server there are number of useful resources and collection of resources below.

Modernise or Become Extinct

Webinar by (Jim Mckeeth and Nick Hodges) – Great watch, the first bit is a bit of a fireside chat, but once it gets going, awesome overview of a number of the topics covered here.

Migration and Upgrade Center

The Migration and Upgrade Center brings together all the best resources for you to

Migrating Delphi Case Studies – Webinar

I would also recommend this webinar replay for Migrating Delphi. The case studies and tools described reference back to the migration and upgrade center and if you prefer to watch than read… definitely one to use.

InterBase on Linux

Following Jim McKeeth’s recent Embarcadero community post about preparing for Delphi for Linux, I wanted to add a few notes about how you can use Linux today as part of your server architecture; and also point out how to get ready for Linux by using InterBase.

InterBase on Linux

InterBase Server is available for both Windows 32bit and 64bit along with Linux 32bit and 64bit Servers.  For Linux, InterBase is certified for a number of distributions including

  • RHEL 7
  • RHEL 6
  • SuSE 11.3
  • Ubuntu 14

You can keep up with the latest supported platforms at www.embarcadero.com/products/interbase/supported-platforms 

Getting Started – InterBase in Linux

Gabe Goldfield, posted a really useful article last year about installing and getting started with InterBase on Linux.

InterBase – Portable Database format

Because InterBase uses the same On Disk Structure (ODS) you can do your development on Windows along side your favourite IDE (Visual Studio, Eclipse, RAD Studio, Delphi, C++Builder etc) and then copy your application database directly onto a linux machine ready for use.

InterBase – Deeply Embedded on Linux

InterBase ToGo is not currently supported on Linux, however the recent InterBase roadmap includes mention of InterBase ToGo being made available for the Linux Platform in the near future. This will ensure InterBase can be deployed embedded with your application for smaller application usage, as well via the traditional Server Installer for larger scale deployment mentioned above.

More on InterBase

For more on InterBase, make sure you check out

InterBase Roadmap Update

Disclaimer: The information included in this roadmap does not constitute, and should not be construed as, a promise or commitment by Embarcadero to develop, market or deliver any particular product, feature or function. The timing and content of Embarcadero’s future product releases could differ materially from the expectations discussed here. Embarcadero reserves the right to change its product plans or roadmap at any time.

Overview

It’s been a busy couple of years since the last public roadmap. In that time, the patent pending Change Views feature has delivered some massive competitive advantage win stories to customers using InterBase XE7 and InterBase was nominated for and won the prestigious IoTA (Internet of Things Award) for “Most Innovative Use of Data”.

Following on from the previous public roadmap InterBase has been on the rise, and here we are sharing the current plans for the next release of InterBase in 2017.

Features and Technologies Delivered in InterBase XE7

The major features delivered in XE7 can be seen in the InterBase XE7 DocWilki

In summary:

  • Change Views
  • 64bit Linux Server added
  • Performance Improvements
  • 64bit Transaction ID’s – Allowing systems with the highest demand to run even longer
  • New ODS restore feature
  • OpenSSL upgrades
  • Enhanced Journal Archive Management
  • Service API’s for Online Dump and Journal Operations.

Features and Technologies Expected in InterBase BigBang

This week (15-Nov-2016) at CodeRage the hood was taken off a number of things that have been worked on in the labs for project BigBang. This project will ultimately become the next release of InterBase and includes:

  • A focus on SQL Features
    • Derived Tables
    • Common Table Expressions
    • Truncate Table – A fast way to delete data
    • Transaction Wait Time
    • Exclusive Isolation Levels
    • ISQL scripting enhancements
  • Faster core engine
  • Server-wide Performance Monitoring
  • New Platform Support
    • Latest Mobile & Desktop
    • InterBase ToGo on Linux

Ideas for the future.

InterBase releases are based on a specific On Disk Structure (ODS). The ODS helps manage new features and tells the InterBase engine what the database can do and what performance benefits it can take account of. This is one of the reasons is important to backup and restore when upgrading. – But what has this to do with the future?

Making mid-cycle ODS changes is something that we have been very reluctant to do with InterBase in the past because a change to the ODS will prevent you from using the database on an early version. E.g. if Update 2 had a newer ODS, then you would not be able to move back to Update 1 if you wished to.  With the changes added for managing ODS in the restore in XE7, we are now comfortable that if we need to, we could move up an ODS during a release cycle. This may pave the way to new features mid-release.

Ideas under review for the future include

  • Auditing
  • Scale Out / Load Balancing
  • Even Smarter, Faster Engine
  • More SQL features
  • Change Views 2.0
    • Change views working on Views
    • Option for Backup / Restore (rather than DataDump)
  • Enhanced Tooling (e.g. IBConsole)
  • Enhance Drivers for 3rd Party Tools (e.g. More ODBC, JDBC, ADO.Net enhancements)
  • Coded functions (enabling UDF capabilities with ToGo where platforms do not allow external libraries, e.g. iOS)

 

10.1 Berlin Update 2 – Anniversary Edition

What’s New in 10.1 Berlin Update 2?

Today sees the release of RAD Studio 10.1 Berlin Update 2 – Anniversary Edition. Here is a quick overview of what is new in 10.1 Berlin Anniversary Edition for Delphi, C++Builder and RAD Studio. Also check the links at the bottom for more online resources.

Package your existing VCL code today ready for the Windows Store!

By far the biggest thing in this release for me is the ability to package existing VCL applications ready for use in the Windows 10 Store. Embarcadero is leading the market in enabling developers to reach this massive market place. With the “bring it with you mantra” we take for granted, many other developers are looking on in envy as they see that RAD Studio / Delphi / C++Builder don’t have to start from scratch to get into the Windows Store! – Awesome!

Windows Store support is available thanks to the Windows 10 Anniversary Update that introduced the Windows Desktop Bridge. The Windows Desktop Bridge (previously know under its project name Centennial) enables developers to take existing applications based on the Windows API and package them as UWP applications (or appx packages) to be distributed directly to Windows users or to be distributed (and sold) via the Microsoft store.

Marco Cantu has already done a great blog post on Packaging and Reaching the Windows Store  with an existing Delphi Application, including links to what you need to do to get started.

Developer Productivity in 10.1 Berlin Update 2 – Anniversary Edition

One other very cool feature added in Update 2 is Quick Edits. Quick Edits increase developer productivity by speeding common tasks in the VCL Form Designer. You can easily build forms, add new components and change their properties, customise layout, connect data sets & sources, and more.

New VCL Calendar Control

If getting to millions of new customers via the Windows Desktop Bridge and Windows Store, and enhanced IDE productivity enhancements isn’t enough, then two new VCL controls come in to support those already created in 10 Seattle. This makes reaching the new UI of Windows 10 exceptionally easy, while maintaining backward compatibility to older versions of Windows!

New VCL and FMX Styles for Windows 10

Finally, there are new styles that are added in 10.1 Berlin Update 2 – Anniversary edition that enhance the look and feel of existing applications.

More on Anniversary Edition

For more details on Anniversary edition check out

InterBase ToGo Android Update

InterBase ToGo Update for Android

Following an update to OpenSSL to address some identified vulnerabilities, Google has stopped allowing submission of applications that contain certain versions of OpenSSL libraries.

While InterBase ToGo and IBLite are not affected by the vulnerabilities identified, the current build that is shipped with RAD Studio for Android is being stopped from deploying to the Play Store. To get around this issue, please download the latest build for InterBase ToGo and replace the .a file in your local deployment files.

While tested on 10.1 Berlin, this download should work for any RAD Studio customer who’s product shipped contained InterBase XE7 (XE7, XE8, 10.0 Seattle and 10.1 Berlin).

Download the latest Android InterBase ToGo from Code Central

http://cc.embarcadero.com/item/30630

Where to put the file?

The InterBase ToGo library for IBLite and InterBase ToGo is the same file. This is typically found at

  • C:\Users\Public\Documents\Embarcadero\Interbase\redist\InterBaseXE7\android

You may also need to check for

    • C:\Program Files (x86)\Embarcadero\Studio\18.0\lib\android\Debug\
    • C:\Program Files (x86)\Embarcadero\Studio\18.0\lib\android\Release\

DocWiki notes

A few more notes about the reported case on this are available on DocWiki

http://docwiki.embarcadero.com/PlatformStatus/en/Main_Page#Hotfix_for_InterBase_on_Android

RAD Studio 10.1 Berlin Update 1 – Now Available

RAD Studio Berlin Update 1

Embarcadero’s first update release for RAD Studio 10.1 Berlin is now available. Update 1 consists of new supported platform versions, features, enhancements and bug fixes.

What is in Delphi, C++Builder & RAD Studio Berlin 10.1 Update 1

In Summary:  Update 1 brings official support for the latest operating systems:

  • Windows 10 Anniversary Update
  • iOS 10
  • Android N (Nougat)
  • macOS Sierra (due tomorrow, 20th September from Apple)

Update 1 delivers new component features and a number of quality updates.

Continue reading RAD Studio 10.1 Berlin Update 1 – Now Available

1000’s attend Delphi Boot Camp’s first session

Delphi Boot Camp add’s YouTube and Facebook streams to service demand.

Today was very exciting in the Embarcadero offices. Developers have been registering for Delphi Boot Camp in their thousands, with over 1000+ registering in the last weekend alone.

Having all this interested in Delphi is awesome, but also has raised quite a challenge for the team delivering Boot Camp due to physical viewing limitations in GoToWebinar. The decision was taken last week that we should add additional ways to stream this out to the 1000’s who were going to attend and Jim McKeeth started off looking into YouTube and Facebook streaming.

StreamingDelphiBootCamp
My Laptop setup with YouTube, Facebook and GoToWebinar

This morning, all attendees received an update email with the multiple streaming options included. During the first of the two live daily sessions we have seen huge numbers viewing on both Facebook and YouTube.

If you couldn’t get into GoToWebinar, either try the second session or watch the replay on YouTube later, keep an eye on community for the replays.

If you did watch the Boot Camp on YouTube, thank you to everyone who joined in with such fun discussions. (my personal favourite question was “So can I talk to Dolphins with this?” – I’ve seen some cool delphi apps, but that would be a nice hardware integration project) Please let us know what you think about these medias for the future.

If you haven't already registered for Delphi boot camp, you can still do so now. Also don't forget to download your 100% Discounted Delphi Starter Edition this week before the offer closes.

You can also use the Starer Edition to qualify for upgrade pricing to RAD Studio or Delphi Pro / Enterprise or Architect editions. And with the mobile add on pack included along with the bonus pack, now is a great time to do that.

 

 

LiveBindings for VCL Developers – Webinar!

LiveBindings for VCL Developers [Webinar]

Visual LiveBindings is a technology that allows you to bind your data and objects (model) to the UI making. While LiveBindings is a key part of FireMonkey development, it is often overlooked by VCL developers.

A while ago I started a series of blogs on LiveBindings and how to use them with existing VCL applications. Covering seven blog posts, I looked at

  1. LiveBinding to DataSets
  2. LiveBinding to Objects
  3. Creating LiveBindings via Code
  4. Master Detail relationships (and objects as properties)
  5. Advanced Master Detail Relationships
  6. Mashing up Master Detail on different sources
  7. Helpful classes for LiveBindings

Following a high amount of demand and questions, you now have you chance to see me present live on this topic and ask your LiveBindings questions. Join me on Wednesday 31st August at 10am GMT.

Register now via community.embarcadero.com

The webinar will be followed by the live Q&A session.

Programming with Delphi & InterBase