FC2ブログ
それなりに長年、DelphiやBorland・CodeGear・エンバカデロのニュースと付き合ってきましたが、残念ながら最近は状況が変化しすぎて、私には良く分からないことが増え、私にとってはありがたくない話が増えてきました。

XE3が8ヶ月で打ち切り、XE3でDelphiの無料アップデートが殆ど無かった問題、Delphi XE3 ProやRAD Studio XE3 Proからの複雑怪奇なアップグレード価格と周知の不徹底、XE4=FireMonkeyの有料アップデート、XE5の価格やPro版の先行きについての悲観的な見通し、

モバイルに対する認識の違い

私のようなモバイル初心者はiOSだけでプログラミングが出来れば、それなりに楽しいのですが、皆さんが関心を持っているのは、WindowsとOSXとiOSとAndroidで同じコードが動く事だそうです。私のような素人ユーザーにとっては不必要でオーバースペックなのですが、XE4やXE5は互換性の問題を解決するために作っているのだから、そういう風に使わないと勿体無いと考える事も出来、iOS単独使用の道が有り得るのか・道理に適うのか迷う所です。

コミュニティの分断

法人ユーザーが増えるのはとても良いことで、実名・有料経済・職人と匿名・無料経済・素人の両輪が揃えば、ユーザー数が増えて、ネット上の情報が増えて、本が増えて、Delphi 終了に怯える事がなくなり、ツールの値段が下がるかもしれない・・・そんな風に思っていた時期がありました。しかし現実には両者は立場も利害も文化も異なるので、相乗効果はぜんぜん無いです。それどころかモバイルに対する認識の違いなど、同じDelphiユーザー同士で話が通じない場面が増えて居ます。

NDAや宴会政治も問題ですね。フィールドテスターになってNDAに縛られると、秘密情報を持っていないのに、なんとなく口が重くなります(笑)。また秘密情報はミーティングやデベロッパーキャンプの宴会などで知らされるらしく、ネットではせいぜい意味ありげな書き込みしか出来なくなります。情報の流通の流れが変わってしまい、日本でも海外でも情報格差が広がっているようです。ブログのネタがなくなってしまいます。

一つ良いことは最近docwikiが充実してきたことです。新井さん達が頑張って、公式情報だけで何とかなる時代が来れば良いですね。Delphi Talksが情報発信をしたり、書籍が増えたり、そんな時代に変わって行く・・・のかな?

以上のような事情で、1年間続いたブログはしばらくお休みすることにします。ありがとうございました。
トラックバック (0)
ユーザータグ » 月動向
ブックマークを調べる » Delphi 月動向
Delphi XE4のサンプルを試してみました・・・確かにDelphi for iOSは凄いかもしれません。ビックリするほどコードが短いです。

例えばiOS AccessCameraApp サンプルを見ると、カメラで写真を撮るにはボタンのActionイベントにTTakePhotoFormCameraActionを追加するだけです。撮った写真をTImageに表示するには、アクションのOnDidFinishTakingイベントに、imgCameraImage.Bitmap.Assign(Image); と書くだけです。

iOS_AccessCameraApp.png

(追記:もっと詳細な設定がしたい場合は、コンポーネントパレットのAdditional にCameraComponent コンポーネントがあります。こちらを使うとフラッシュを焚くことが出来ます)

メディアライブラリの標準アクションは全部で3つなので、録音は標準アクションではできないのですが、録音も実に簡単です。iOS AudioRecPlay サンプルを見ると、FMicrophone := TCaptureDeviceManager.Current.DefaultAudioCaptureDevice; でオブジェクトを作って、FileNameプロパティを設定して、StartCaptureメソッドを実行するだけでファイルに録音されます。

iOS_AudioRecPlay.png

もっと複雑そうな事はどうかというと、例えば端末を傾けると画面に表示されている3DCGの箱も同じ方向に傾いて回転するという iOS Gyroscope サンプルがあります。想像しただけで長大なコードを必要としそうなサンプルの中身を覗いて見ると・・・フォームにRectangle3D コンポーネントが1つ置いてあって、TimerコンポーネントのTimerイベントに、Rectangle3D1.RotationAngle.X := TCustomOrientationSensor(FSensors[0]).TiltX; のようなコードが3つ書いてあるだけです(驚)

iOS_Gyroscope.png

なんとも凄い時代になりましたね。
トラックバック (0)
ユーザータグ » iOS
ブックマークを調べる » Delphi iOS
iOS チュートリアル:FireMonkey iOS アプリケーションを作成する」を実行してみました。

iOS_sayhello.png

iOS_sayhello2.png

スクリーンキャプチャを撮るには、スリープボタン+ホームボタンです。

素晴らしい!。もう一度Say Hello させたいので、画面を閉じます。再起動すると・・・最初に戻りません。これがウィンドウズ・アプリと異なる、携帯アプリの挙動なのですね。最初に戻すには端末上でアプリケーションを終了して、再スタートしなければなりません。ホームボタンを2回押して、起動中のアプリを表示し、アイコンを長押ししてマイナスぼたんを表示し、Project1のアイコンを押す。そしてもう一度、再起動します。

iOS_sayhello3.png

iOS_sayhello4.png

・・・ちょっと面倒ですね。携帯用のHello Worldはボタンを2度押したら、元に戻る方が親切設計かもしれません(笑)

無茶な操作をしたら、端末がフリーズしました(笑)。そういう時はまずはスリープボタンを押して、電源を切ってみます。それでも駄目ならスリープボタン+ホームボタンを長押しして再起動します。
トラックバック (0)
ユーザータグ » iOS
ブックマークを調べる » DelphiXE4 iOS
Delphi XE4のサンプルはカメラやセンサーが必須なので結局、実機も購入することにしました。最も格安なのは iPod Touch のようです。かかった費用は iPod Touch が約24000円、iOS Developer Programが8400円/年でした。

iOS Developer Programのアクティベーションは意外と大変です。他の日本人ユーザーと同じく、アクティベーションをすると「We are unable to activate your Apple Developer Program membership」となり問い合わせが必要になります。しかもアップルの営業時間外だったせいか、Developerのお問い合わせフォームが開かないという現象まで起きて、思ったより長い時間(4日)がかかりました。

iOS Developer Programの設定項目は意外と沢山あります。工程はネット上の情報通りに、macのキーチェーンアクセスツールで証明書を作って、certificates、identifiers、Devices、Provisioning Progilesを設定する5つです。しかし4月にリニューアルしたせいで、画面はちょっと変わって最初にプラスボタンを押して起動するウィザード方式になっています。ダウンロードして登録するファイル名も変わっていて、例えば「AppleWWDRCA.cer」を手動で登録する工程は無いような気がします。

iOSDEV_certificates.png

説明文は全て英語で、「wildcard APP ID」のような用語を理解している必要があり、思ったより大変です。また後から考えると、どんな鍵や証明書を作ってインストールしたのかが分からなくなるので、キーチェーンアクセスツールのスクリーンショットを撮っておけば良かったなと思います。

最後はDelphiの設定です。これは『iOS チュートリアル:Delphi による iOS アプリケーション開発』の「セットアップ」を実行すれば良いだけですが、なぜかハマリました(笑)。「ステップ 1:Mac に Xcode コマンド ライン ツールをインストールする」を忘れている場合、IDEでは「トラブルシューティング: macに接続できない」というエラーメッセージが出ます。環境設定直後にiOSシミュレーターでは動くのに、iOSデバイスでは失敗し、転送するファイル名が表示されずに、すぐにエラーメッセージが出る場合は Xcodeのコマンドラインツールを疑いましょう。

mac_sdekinai.png

またIDEの「接続プロファイルマネージャ」のパスワードと、mac 上のプラットフォーム・アシスタントでEnterを押した後に表示されるウィンドウのパスワードは無関係です(笑)
トラックバック (0)
ユーザータグ » iOS
ブックマークを調べる » DelphiXE4 iOS
DelphiXE4 | 2013/04/25(木) 17:16 ...Edit
DEKOさんによると、Delphi XE3 ProユーザーでiOSの開発を行う人は5万円のMobile Add-On Packのみを購入すれば良くて、6300円の方は買わなくてもXE4にバージョンアップされるそうです。正式な発表はありませんが、大事なことなので二回言いました。
(追記:正式なソースは「iOS開発機能を含むDelphi XE4を利用したい方は、以下の製品をお求めください」だと、米澤さんに教えて貰いました)

FireMonkeyでもついにFrameが!しかしVCLと比べると反応が遅いと思っていたら、DEKOさんにGlobalDisableFocusEffect := True;という技を教えて貰いました。Delphi XE4で新しく追加されたFiremonkeyのコンポーネントは

詳しくはDEKOさんの「FireMonkey で使えるコンポーネントは?」を参照です。エンバカデロの機能一覧表の誤植を指摘したり、DEKOさんの名探偵ぶりには感心します。

細川さんの「DelphiでかんたんiOSアプリプログラミング」を献本された人は、Owl's perspectiveさん岡野さん高橋さん・・・かな?執筆協力お疲れ様です。目指せ重版!と思っていたら、Amazonは在庫完売のようです。かなり売れているのでは!?

Android アドオンのフィールドテストはいつ始まるのか?と思って居たら、Owl's perspectiveさんが前例を考えると、リリースの3ヶ月くらい前に始まるのではないかと教えてくれました。ミーティングの開催などで、私のような一般人にも告知して大々的に行うのはリリースの1ヶ月くらい前なので、XE5を9月にリリースすると・・・最速で6月くらい?

カントゥさんの「Delphi Language for Mobile Development Paper」を眺める。LLVMと新コンパイラの話、文字列型の話、自動参照カウントの話、その他・・・LLVMの導入によって、Delphi モバイルでもガベージコレクションが使えるようになって、新規ユーザーがTurbo Pascal 以来の昔ながらの文法で当惑しないようになっているそうです。しかしFMはマルチプラットフォームを意識してWIN APIを呼ばないようにしたり、ナカナカ大変なようです。

新井さんの「iOS チュートリアル: Delphi による iOS アプリケーション開発」(PDF版)もお勧めです。
トラックバック (0)
ユーザータグ » iOS firemonkey
ブックマークを調べる » DelphiXE4 iOS firemonkey
タグクラウド