Delphi なんかで開発していて恥ずかしくないよ？


# リプライ

**Delphiなんかで開発していて恥ずかしくないの？**
https://qiita.com/e99h2121/items/e5b823ae69ce418ea235

があったので勝手にリプライ記事です。
この記事を読むと(なぜか) Delphi がやり玉に挙げられただけで別に Delphi をことさらおとしめている訳では無いようです。

とはいえ、恐らく昔ながらの Delphi しか知らないのかな～と思います。

ということで、拙作 [Delphi Community Edition](https://qiita.com/pik/items/1db2b6d2f9972d953df4) の記事からの抜粋になりますが、まずは最近の事情を紹介します。

# 最新の Delphi の IDE

現在の Delphi はこのような見た目で他の開発環境にも劣らない感じになっています（ダークテーマ, Wikipedia より拝借）。
向こうの動画は XE2 という９年も前のバージョンを貼っています。どうして。

![Delphi104sydney.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/12977/0fdf10b5-7a1d-9800-855e-9956e0547d79.png)

# 最近の Delphi でできる物

拙作の**窓の杜にでも紹介されるようなアプリ**からです。

* **Quick Font Comparer**
窓の杜の紹介記事
https://forest.watch.impress.co.jp/library/software/qf_comparer/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/12977/db33c6d6-421e-77e2-23ea-1d263f7b1e57.png)

* **モバイルアプリのサンプル**
美しい見た目を活かしたお天気アプリ
画面遷移やスクロールといったアニメーションもとても美しいです。
動作している動画は[こちらのツイートからご覧いただけます](https://twitter.com/pik/status/1179643895962980353)。
![tenki.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/12977/b5c8e48e-a610-6354-28f7-f0e72e1432d3.jpeg)

* **水彩画のアプリ(Expresii)**
Adobe Fresco より先に水彩画のにじみなどを表現していたアプリで、そもそも Adobe に対して技術をライセンスしていたりするスゴいところが開発しています。
[![Expresii](http://img.youtube.com/vi/Tu3O5qvVVHo/0.jpg)](http://www.youtube.com/watch?v=Tu3O5qvVVHo)
※↑クリックで YouTube に飛びます


* **FL STUDIO**  
商用の有名なアプリケーションだと、[FL STUDIO](https://www.image-line.com/)があります。
利用者の多い有名な DTM アプリケーションです。
[![FLStudio](http://img.youtube.com/vi/ort7ZLY-3zo/0.jpg)](http://www.youtube.com/watch?v=ort7ZLY-3zo)
※↑クリックで YouTube に飛びます

* **その他**

なお、他にも多くの事例が下記の事例紹介ページに掲載されています。
https://blogs.embarcadero.com/ja/category/casestudy/

[オープンソースの Delphi 用ゲームエンジン](https://github.com/Cooler2/ApusGameEngine)があるため、Steam で公開されている[ゲームなんかも紹介](https://blogs.embarcadero.com/ja/rise-of-legions-multiplayer-rpg-windows-game-built-in-delphi-ja/)されています。
[![RoL](http://img.youtube.com/vi/RHssUAUZd00/0.jpg)](http://www.youtube.com/watch?v=RHssUAUZd00)
※↑クリックで YouTube に飛びます

# Delphi の得手不得手

得手不得手は言語毎に当然ありますが、Delphi は割とオールラウンダーとして意図されています。

[DocWiki から引用＆補足](http://docwiki.embarcadero.com/RADStudio/Sydney/ja/%E4%B8%BB%E8%A6%81%E3%81%AA%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E7%A8%AE%E5%88%A5)すると…

* **Windows アプリケーション**
    * Metropolis UI アプリケーション
    * COM ベース アプリケーション
* **データベース アプリケーション**
    * 多階層アプリケーション
    * DataSnap アプリケーション
* **EMS、Cloud、REST のアプリケーション**
    * エンタープライズ モビリティ サービス（EMS）アプリケーション
    * クラウド アプリケーション
    * REST アプリケーション
    * Backend-as-a-Service (BaaS) アプリケーション
* **Web サーバアプリケーション** 
    * Web サービス
    * Web Broker アプリケーション
* **マルチデバイスアプリケーション**
    * Windows 64/32
    * Windows UWP
    * macOS 
    * iOS
    * Android
    * Linux
 
となってます。

最近の Delphi で特筆すべきはやはり **Windows, macOS, iOS, Android, Linux のアプリを開発出来る、マルチプラットフォーム開発環境**になっていることでしょう。

# なぜ Delphi で開発しているの

業務で Windows, macOS, iOS, Android のアプリを作っています。
なぜ使っているかと言えば、4OS のアプリをデザインまで含めて１ソースで作れる Delphi より優れた環境を知らないからです。

# 元記事で気になったところにコメント

```text:引用
老年に安心、ホームページビルダー並みなのではないでしょうか
```

Delphi をそういったホビー用のプロが使えないツールと思ってしまうのも仕方ありません。
何故かというと、それほどまで取っつきやすい優れた開発環境だからです。
だからといって、取っつきやすい開発環境の性能が低いという訳ではありません。

必要であれば、Win32 API や WinRT API, macOS Cocoa API, POSIX API, iOS, Android の SDK まで自由に呼び出せますし、obj ファイルはもちろん jar ファイルをリンクしたり、インラインアセンブラを書いて速度を稼いだり、[高度な画像処理プログラム](http://www.expresii.com/)を作るなど、プロが必要な技術を遮ることはありません。

もちろん、言語も進化していて、他の言語に見劣りしません。
詳しくは前掲の Community Edition の記事や、[Wikipedia](https://ja.wikipedia.org/wiki/Delphi) をご覧ください。

```text:引用
日曜大工的に窓の杜に公開するようなアプリを作るには便利だったのだと思います。
Github時代以前の話だとおもいます。
```

そういう小規模なアプリケーションから、NDA の関係で書けませんがビックリするほど大きくて有名なアプリまで Delphi で作れます。
なお IDE はバージョン管理システムと連携可能で、Git, Marcurial, Subversion を選択できます。

```text:引用
ライブラリが多くて、テストも書きやすくてなんぼ
```

ライブラリも統一的な[パッケージマネージャ GetIt](http://docwiki.embarcadero.com/RADStudio/Sydney/ja/GetIt_%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8_%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3%E3%81%AE%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6) が整備されたため、増えています（もちろん Java などには及びませんが）

テストに関してはおっしゃるとおり。
GUI をテストするのは大変ですからね。

```text:引用
先に書いた通り休日にたしなむには相変わらず楽しいツールの一つだと思います。
```

趣味でも楽しく、仕事でも楽しく、そして迅速に開発できる、とっても良い開発環境です。

# Delphi は現在の話

過去の話にしてしまうのは持ったなさ過ぎます。
今の Delphi は確実に往年のような強いツールに進化していますし、利用者も増えています。
とある Delphi を使っている人は「逆にまだマルチプラットフォームのアプリを１ソースで開発してないの？？？」って思ってしまったそうです。
僕もそう思います。