モバイル開発プロセスをより快適にするためのヒント。

FMプラットフォーム(FireMonkey)でアプリケーションを作成することに専念したシリーズのこれまでのパートでは、「デスクトップ」アプリケーションとモバイルFMアプリケーションの両方を作成できる基本的なテクニックとテクニックについて学びました。 そして今日、デモアプリケーションの作成から少し脱線し、FMプラットフォームを使用した開発プロセスの特徴的な機能に触れます。 より正確には、開発プロセスをより快適にするためのアドバイス(実用的および概念的)を提供したいと思います。



経験豊富な開発者であれば、この資料をすぐに理解できますが、初心者にとっては、このような情報は非常に役立ちます。 実用的な推奨事項から始めましょう。



構造オブジェクトウィンドウをより積極的に使用します。




組織内のFireMonkeyフォームは、VCLのフォームとわずかに異なります。 FMコンポーネントにはparentプロパティがあります。したがって、オブジェクトの位置はフォーム自体ではなく、親オブジェクトに直接関連付けられます(この場合、親はクラスの継承とは無関係です)。 したがって、コンポーネントがどのオブジェクトに「アタッチ」され、必要に応じて別のオブジェクトに「アタッチ」されるかを確認するには、フォームエディタで直接行うよりも構造ウィンドウで行う方が簡単な場合があります。 これは、3次元座標系が使用される3Dアプリケーションに特に当てはまります。



構造オブジェクトウィンドウをより積極的に使用します。



自動生成されたオブジェクトの名前を変更する




このアドバイスは一般化されています。 もちろん、VCLアプリケーションを作成するときは彼に従う必要があります。 結局、コードはより読みやすく簡単になります。 しかし、LiveBindingテクノロジーが積極的に使用されている「Platform FM」(FireMonkey)の場合、これは特に当てはまります。 実際、同時に多くの補助オブジェクトが自動的に作成されますが、その目的は個別に処理する必要があります。



LiveBindingデザイナで作業するときにレイヤーを使用する




もちろん、 LiveBindingデザイナは 、オブジェクトをバインドする技術を使用して開発者の生活を大幅に簡素化する不可欠なツールです。 しかし、かなり複雑なアプリケーションについて話している場合、接続する必要があるオブジェクトの数も多くなります。 そして、これらのオブジェクトは、LiveBindingデザイナの限られたスペースに有機的に配置することは非常に困難です。 ここでレイヤーが助けになります。 必要なオブジェクトを選択したら、コンテキストメニュー(新しいレイヤーに追加)を使用して、それらを別のレイヤーに簡単に転送できます。 したがって、新しいレイヤーでは、すべての「余分な」オブジェクトは表示されなくなります。 また、LiveBindingデザイナの右上にあるドロップダウンリストを使用して、レイヤーを切り替えることができます。



LiveBindingデザイナで作業するときにレイヤーを使用する



LiveBindingデザイナの高度な機能をより積極的に使用します。




LiveBindingデザイナで多数のオブジェクトを操作するのは大変な作業です。 ただし、追加のツールを使用すると、LiveBinding Designerをすばやく快適かつ効率的に使用できます。 左側のボタンは、チャートのスケーリングを担当します。 さらに、最も便利な方法でオブジェクトをダイアグラムに自動的に配置することができます(再配置)。 オブジェクトのリンクが難しい場合は、LiveBindingウィザードを使用できます...

さらに、コンテキストメニューには非常に便利な[要素の表示/非表示...]という項目があり、現在不必要なオブジェクトを非表示にすることができます。



スタイルを使用する




Visual FireMonkeyコンポーネントは、VCLコンポーネントとはまったく異なります。 まず、スタイルを使用しているためです。 ここでのスタイルは、コンポーネントの外観を変更するだけでなく、その動作にも影響します。 まず第一に、設計時に最初に遭遇したコンポーネントを取り込んで、構造を「乱雑にする」ことを試みる必要はありません。 さまざまなコンポーネントを学びます。 TButtonを試してから、TSpeedButtonを試してください。 「オブジェクトインスペクタ」でStyleLookupプロパティを見つけ、ドロップダウンリストを使用して、コンポーネントのスタイルのさまざまなオプションを選択します。 次に、実行時の外観と動作がどのように変化するかを確認します。



TPanelをつかんで、「従来のDelphicの方法」で追加の画像とTImageコンポーネントを使用して「ペイント」しようとしないでください。 上部パネルと下部パネルを作成する場合は、TToolBarを使用します。StyleLookupプロパティを使用すると、「上部オプション」と「下部オプション」を取得できることに注意してください。



汎用モバイルアプリケーションインターフェイスの基礎はTListBoxです。 マウスの右ボタンを使用して、いくつかのアイテムを追加します。 特定の要素ごとに、独自の「スタイル」を設定することもできます。 「listboxitembottomdetail」要素のスタイルを持つItemDataプロパティグループに注意しながら、さまざまなスタイルを試してください(下図を参照)。



スタイルを使用する



スタイルを使用する



独立した「創造性」を開始する前に、「FMプラットフォーム」(FireMonkey)のスタイルメカニズムを使用して既に実装されているものを活用してください。



そしていくつかの概念的なヒント



モバイルアプリケーションを作成するときは、プラットフォームの標準コントロールを使用してみてください。




Delphiは、インターフェイス設計の点で汎用性のある広範な機能を備えたツールです。 また、モバイルアプリケーションでグリッドを使用する機能を提供する場合、これを行う必要があるという意味ではありません。 結局のところ、同じAndroidインターフェースは、「デスクトップ」アプリケーションに存在する形式でグリッドを使用することを意味しません。 よく知られているオペレーティングシステムの例からわかるように、デスクトップおよびモバイルプラットフォーム用の共通のGUI標準を作成する試みは失敗しました。 間違いをこの世界に強くする力を残し、それらが使用されるプラットフォームに典型的なGUIを作成します。



モバイル版の「デスクトップ」アプリケーションのロジックを完全にコピーしようとしないでください




「デスクトップ」開発の経験を持つモバイルアプリケーションの開発者を開始するこの特徴的な間違いは繰り返し説明されています。 しかし、ここで彼女に言及することを忘れることはできませんでした。 開発のダイナミズムにもかかわらず、モバイルデバイスは、静止PCに比べてパフォーマンスと画面サイズの点でまだ劣っています。 したがって、「デスクトップ」アナログのすべてのロジックをモバイルアプリケーションに組み込むことは非常に難しく、絶対に必要ではありません。 結局のところ、タブレットで行う方が便利なことがありますが、解決できるのはテーブルのコンピューターでしかできないタスクがあります。 また、これは、既存のアプリケーション用のモバイルクライアントを作成するときに理解する必要があります。



アプリを正しく設計します。 インターフェイスからロジックを分離




評議会は決して新しいものではなく、まったく普遍的なものです。 しかし、モバイルアプリケーションを作成するとき、これまでにないほど、その関連性を検証できます。 Embarcaderoの開発コンセプトでは、実際にはさまざまなアプリケーションで単一のコードベースを使用しています。 また、コードが適切に編成されていれば、モバイルアプリケーションと「デスクトップ」アプリケーションの両方で変更を加えることなく実際に使用できます。 この場合、ユーザーインターフェイスを担当するプログラムの部分のみが変更されます。 デモプログラムで共通のデータモジュールを使用するのが良い例です。



コードを最適化する




もちろん、これはどのアプリケーションでも実行する必要があります。 ただし、前述したように、モバイルデバイスには、固定PCのハードウェア機能はありません。 したがって、アプリケーションによるリソースの節約は特に重要です。 必要なときにオブジェクトを作成したり、フォームの動的作成を使用したりします。



IDEの追加手段を使用します。




Delphi IDEの最新バージョンには、サードパーティ製のツールが非常に多く含まれており、それらを使用すると開発者の生産性が大幅に向上します。 残念ながら、誰もがそれらについて知っており、それらを効果的に使用しているわけではありません。 ここでは、そのようなツールの簡単なリストのみを提供します。



  1. Compare Liteを超えて-コードを比較するための効果的なツール。
  2. QAメトリクスとQA監査-コード品質管理ツール。
  3. CodeSiteロギング-強力なロギングツール。
  4. ドキュメントInsight Expressはドキュメントツールです。



All Articles