Monday, April 10, 2017

Getting Started with Delphi

Delphi celebrated its 22nd anniversary in February and a lot of the developers who make up the Delphi programming community have been using it for a long time. I think that just speaks to their good judgement.

At the same time, I'm pleasantly surprised to see people asking how to get started with Delphi or where to find entry level information. I thought it might be worth collecting some of this information in one place instead of re-posting individual links over and over again.


First Steps


Getting Started - Unsurprisingly, there is a Getting Started page for Delphi and RAD Studio. In fact, there are two. They include an introduction to the product, a tour of the IDE and an overview of everything from the basics to the latest features.

Documentation - RAD Studio's help is available online in Embarcadero's DocWiki, which is constantly being updated. All pages are indexed, so including the term "docwiki" your browser's search is a handy shortcut to find documentation with fewer clicks.

Migration - If you are moving older code to a newer version of Delphi or want to ensure that your code is compatible with newer platforms (Unicode, BDE to FireDAC, etc), the Migration and Upgrade Center has strategies and white papers that could save time and effort.

Code Samples - RAD Studio includes a few hundred sample applications that demonstrate how to use different features. These are also available online with branches for each version going back as far as XE.

Reporting bugs - Create and improve bug reports and feature requests in Quality Portal (QP). If you find a problem in the product, the best way by far to get it resolved is to create a clear, detailed and reproducible bug report. Voting for issues helps determine their priority, and Embarcadero pays attention to our feedback. The user guide is pretty thorough and explains how to use QP effectively.

Support - As Craig Chapman points out in the comments, Delphi and RAD Studio now include maintenance, and maintenance comes with a certain number of support incidents, which are useful for serious or blocking issues. If necessary, free support is also available for installation and registration issues.


Free Software and Training


Embarcadero recently announced that the Delphi Starter edition will be free for the foreseeable future. Starter doesn't have all of the features of the commercial versions [feature matrix], but it's an excellent option for hobbyists or developers who are using Delphi for the first time or for the first time in a while.


The Delphi Boot Camp is a five day event that introduces Delphi and demonstrates its potential. Replays, source code, additional material and the Q&A from the live event are all available online.

Learn to Program with Starter is a series of blog posts that is intended to be a follow-up to the Boot Camps and digs in to topics such as application architecture.

C++ Builder Starter and the stand alone BCC32C C++ compiler are also available for free and there is a C++ Boot Camp available. If you're in to that kind of thing.

Cross Platform


Delphi has the ability produce sophisticated and graphically rich applications for Windows, Mac, iOS and Android with (more or less) the same source code. The RTL is cross platform and it uses the FireMonkey framework for the GUI, which has similarities to the VCL, but there are differences.

To see what I mean by "graphically rich", take a look at the Quark Cube YouTube channel. They have some impressive demos and tutorials.

This is a very broad topic. Probably too broad to cover thoroughly in any one place, but between the Quick Start Guide, Getting Started page and FireMonkey eXplore, that's a pretty solid starting point.

Update: Embarcadero published a three day Mobile Boot Camp that covers the features and techniques for developing single source projects for multiple devices.


Linux


Support for Linux was added in Delphi 10.2 Tokyo. Well, re-added. This is slightly different than the rest of the cross platform support because this first release doesn't (officially) support GUI applications, but works well for server-side applications.

However, there is a third party solution for using FireMonkey on Linux.

Marco Cantu detailed key traits of the Linux compiler and Embarcadero published configuration instructions, a short teaser video and a Delphi Linux Boot Camp to get people up and running with Delphi and Linux.


Internet of Things (IoT)


IoT is a popular buzzword that refers to how common "connected" devices are in our every day lives. We are still trying to figure out how to best take advantage of this and the implications.

Delphi has always made networking and inter-connectivity easy, so it makes sense that Embarcadero held an IoT Boot Camp. What makes this one stand out is that Mitov Software helped spec out a companion Arduino Starter Kit from Makerfabs that you can purchase to use in the boot camp. Don't forget to go through the checklist.

Now that's pretty cool.


Other Resources


Books

Videos


Blogs


Communities

Updates:

- Added links for support.
- Added Mobile Boot Camp.
- Added more links to Delphi books

2 comments:

Craig Chapman said...

Good list of resources!

One resource you should not forget is that anyone that has purchased after 10.1 has a support contract (previously optional). Quality Portal is the right place to raise bugs and feature requests, however, for serious blocking issues, use your support contract by raising a ticket. http://support.embarcadero.com

Bruce McGee said...

@Craig: Good point. I added links for support. Thanks