Starter ユーザーのために ProfessionalやEnterprise版で何ができるようになるのかまとめる

Starter版の無期限無償公開から約1年が経過しました。 Delphi, C++Builder ともに数多くの方々にダウンロードいただき、いまだに好評であります。一年前に作成した無償公開を紹介するブログと、その後の更新版の入手方法を記載したブログはいまだに人気があり、アクセス数を増やし続けています。

Starter Editionは無償提供されている、Windows 32bit向けに絞った開発環境です。Object Pascal(Delphi)やC++といったプログラム言語を学ぶ環境としても利用価値がありますし、Windows向けの単体アプリを開発するならば、十分に役立ちます。

しかしながら、上位有償のProfessional版やEnterprise版であればなおのこと、やりたいことがより効率的にできる機能が搭載されています。そこでStarterユーザーのために、もし上位版を手に入れたならどんなことができるようになるのか、どんなメリットをもたらすのか、メジャーなところを紹介してゆきたいと思います。


##上位版エディションについて
「上位版」を使ってどんなことができるのか、を説明する前に、「上位版」とは一体何なのか、どんな種類が存在するのか明らかにしておきます。製品の種類と、エディション、というカテゴリ分けができます。
まず、【製品の種類】は三つに分けられます


|製品名| 内容 |
|:---:|:---|
|RAD Studio| Delphi・C++Builder両方入りスイート|
|Delphi| Object Pascal(Delphi)言語が利用できる開発環境単体|
|C++Builder|C++言語が利用できる開発環境単体|

いずれの製品も開発デバッグ等が可能な統合開発環境で、VCLやFireMonkeyといったビジュアルコンポーネントを使って効率的に開発できる特徴を持ち合わせているところは変わりませんが、プログラミングに使える言語がObject Pascalのみか、C++のみか、またはその両方が使えるのか？といったところで違いがあります。またDelphi版とRAD Studioには、コンポーネントのソースコードが付属しており、コンポーネントの動作の詳細に至るまでソースコードで確認することができます。

そして各製品には4つの【エディション】が用意されます。（RAD StudioはStarterエディションが無いので3つのエディションとなる）

| エディション| 概略 |
|:-:|:--|
|Starter|DelphiとC++Builderのみに用意。Win32向け対応。 無償提供版、商用利用には制限在り  |
|Professional| Win32/64,iOS,Android,macOS向け開発(※1)、ローカル/組み込みデータベース接続|
|Enterprise| Pro版機能に加え、Linux向け開発(サーバーサイド)、C/Sデータベースアプリケーション構築(※2)、サーバーサイド開発ライセンス|
|Architect|Enterprise版機能に加え、データモデリングツールが付属|

* (※1)Delphi / C++Builder 単体製品の場合、Professinal 版での iOS, Android 向け開発はオプション（追加購入）となります。
* (※2)Professional版にもオプションで追加することができます。

機能的には Starter < Professional < Enterprise < Architect と右に行くほど高機能になります。
詳しい機能表は [PDFで提供](https://www.embarcadero.com/images/jp/dm/products/rad-studio-tokyo-feature-matrix-jp.pdf)されている機能一覧で確認できます。また概略はエンバカデロのWebページの製品ページにある「製品エディション」情報で確認できます。

##上位版を手に入れたならどんなことができるようになるのか
さて、製品名とエディションを理解していただいたところでいよいよ本題。どんなやりたいことを実現できるのか、という話にはいってまいります。

###iOS/Android上で動作するモバイルアプリの開発が可能に
iOS, macOS, Android向けのアプリ開発が可能になります。 (iOSとmacOSアプリの開発には macOSの搭載されたMac機が別途必要)
しかも、Windows開発と同じ手法のビジュアル開発で、かつ、UIとプログラムを共通で使えるクロスプラットフォーム開発が可能です。 簡単に言えば、一つのUIと一つのプログラムを作ったら、あとは各OS向けにビルドするだけで、各OS対応のアプリができる、というものです。Starterで覚えたWindows向け開発のスキルを生かして、そのままiOS/Android/macOSのアプリ開発に入れるのが嬉しいですね。

###データベースにコンポーネントを使って接続できるので、データベースを必要とするアプリ開発が効率的
データベースに接続するためのコンポーネント「FireDAC」が用意されていますので、データベース接続を必要とするアプリを効率的にビジュアル開発で作ることができます。かんたんなデータベースのテーブル取得や表示、レコードの登録や更新削除などの基本的な部分は、コンポーネント用意されているので、コードを書かずに作ることができるくらい簡単です。より細やかなデータベース操作にSQL文やストアドプロシージャを活用するこことが必要になりますが、それらSQL文やストアドプロシージャもコンポーネントを使って管理することができます。

###サーバーサイドも書けます
サーバーサイドのロジックも開発することができます。REST/JSON形式でクライアントとやり取りするAPIを用意できます。データベースへのアクセスはFireDACを使えるので開発も効率よくに行えます。またユーザー管理や、モバイルデバイスへの通知機能も備えているので、開発工数に繋がります。

###ユニットテスト機能も含んでいるので、継続的な開発検証に役立ちます
テスト フレームワーク DUnit が統合されていて、ユーザーのアプリケーションに対して自動化されたテストケースを実行できます。アプリケーション内のクラスとメソッドのテストの作成と、テスト実施ができ、継続した開発において、アプリケーションの安定性の向上が期待できます。変更を加えるたびにコード全体で標準のテスト一式を実行すれば、開発サイクルの初期段階で、問題を検出、つぶしておくこともできるようになるでしょう。

###コード保管。クラス記述補完機能も
Starterにもコード保管が付いていますが、よりすごいのｈがクラス記述補完。宣言を描いておくとクラスの実装部のテンプレートを記述してくれたり、プロパティ実装部のテンプレートを記述してくれたり、と、コーディングの手助けになります。

###ソースコードも付いています
FireDACやFireMonkey、VCLといったコンポーネントのソースコードが付いてきます。これらのコンポーネント・フレームワークはDelphiで記述されていますので、実際、コンポーネントがどのようなロジックで動作しているのか、詳細に確認できます。提供されているコンポーネントがブラックボックスで、バグのありかがどこだかわからない！なんてことにはなりません。

##広がります
上位版における機能面での有意性、できることをさらっとご紹介しました。これら機能を使って作りたいものを自由に開発できます！モバイルアプリや、業務向けの事務処理、データ処理や、3Dの研究、宇宙開発にも使われています。この1年でStarterをつかって培ったスキル、または昔取った杵柄、初期のDelphiで鍛えた腕前をぜひ活用してください!