「ファイアモンキーを訓練した」方法またはFMXでの経験





こんにちは、Habrausers様!



私たちはSphere Systemsの会社であり、今日はHabréで企業ブログを開きます。ここでは、Sphere Liveプロジェクトを紹介します。 そして、私たちのプロジェクトはまだベータテスト中ですが、今では自信を持ってそれが行われたと言うことができます。



スタートアップを作成した経験を共有し、成功したソリューションとエラーについて話し合う予定です。 そして、もちろん、私たちは応答を得たいと思います。 少なくとも今のところは、「成功物語」であるとは主張していませんが、開発経験が読者にとって興味深いものであり、フィードバックが役立つことを心から願っています。



最初の出版物は、選択した開発ツール専用です。 おそらく、私たちの選択は、控えめに言っても、明白ではないように思われます。 ただし、実際に機能する製品があることは事実です。 しかし、最初に、一般的な用語で、誰もが危険にさらされているものを理解できるようにするために、私たちの製品に関するいくつかの言葉。



Sphere Liveプロジェクトは、統合課金システム、ファイル共有、クラウドストレージ機能を備えた対称および非対称講義形式の無制限数の参加者がいるマルチプラットフォームビデオ会議組織システムであり、ユーザー情報(通信、送信および転送されたファイル、ビデオおよび音声通信)を保護します)



現時点では、Sphere LiveにはWindows、Mac OS、Android、iOS向けの単一のコードベースがあります(後者はインターフェイスの最適化が必要なため、まだ開発中です)。 Windowsを実行するデバイスのベータ版とAndroidのアルファ版が利用可能になりました。2014年8月中にOSの残りの部分のサポートを実装する予定です。



私たちのチームの最大のメリットは、情報の転送、保存、暗号化のためのすべてのアルゴリズムが、サードパーティの技術を使用せずに独立して開発されると信じていることです。 言い換えれば、私たちは誰にも依存せず、マルチメディア伝送といくつかのライブラリに無料のコーデックのみを使用しますが、いつでもアプリケーションに最適な他のコーデックに置き換えることができます。 Sphere Liveアプリケーションの残りの部分は完全に私たちによって作成されており、文字通りの意味で無限の可能性を持つ高速で簡単にスケーラブルなアーキテクチャを備えています。



Embarcaderoとは何の関係もないことを即座に予約し、それらから金銭的な報酬を受け取らないようにしてください。 さらに、当社はこの会社の製品を一般的に使用しています。 割引なしで購入します。 Delphi XE6(FireMonkey)は、客観的で控えめな選択肢です。



この記事では、さまざまな開発環境の競争上の利点をすべて説明するのではなく、Wikipediaの記事を引用し、どの「ツール」が優れているかについても説明します。 これまたはその決定の支持者は常に見つけられます。 したがって、私たちは自分の選択とその賛成論に直接焦点を当てます。



Delphi XE2バージョンから始めました。 他に何ができますか? アプリケーションは最小限の開発およびメンテナンスコストで実装する必要があることを完全に理解しましたが、プロジェクトは非常に大きく複雑です。そのため、たとえば、最も研究されており、深刻な開発の可能性がある言語とツールを使用する必要がありました。 Javaから。 市場には開発とコンパイルのための普遍的なツールはありませんでした。OSごとに独自のものがあり、マスターする必要がありました。これにより、開発者とテスターのスタッフを増やし、時間通りに完了していないタスクの責任を移行するプロセスを管理しました。



その結果、当時は特別な選択肢がなかったので、 Delphi XE2のみが要件を満たしました-WindowsおよびMac OS用の単一コード、単一環境、コンパイラ。 これまでに、Sphere LiveコードはDelphi XE6(FireMonkey)に翻訳されました。 単一のコードベースを使用する、アーキテクチャの観点からはほぼ理想的なシステムを実装できました。 さらに、インターフェイスの類似性を達成することができましたが、もちろん違いがあります。



エンバカデロ、私たちを許してください。しかし、すべてが完璧であると言っても、私たちはできません。 RAD Studio開発環境の以前のバージョンでは、重大な欠陥と明白なバグがありました。 多くのことを自分で作成し、自分で問題を解決する必要がありました。 独自のコンポーネントが多数開発されています。 しかし、遅かれ早かれ、彼らが「正しい」製品の段階に到達することを十分に認識しており、Firemonkeyですでに十分な経験を活用することができます。



私たちの意見では、Delphiプログラマー(またはRAD Studio全体)が直面した、または直面している困難のほとんどは、Firemonkeyのアーキテクチャとメカニズムの説明がほとんどないことです。 インターネット上で利用可能なものはすべて実用的ではないか、情報が非常にけちであるため、基本的なエラー(あなただけでなくEmbarcadero自体も)を特定できません。



FMX(Firemonkey)を理解するために1年以上を費やしました。 「同じレーキを踏む」ことを繰り返し、GUI、マルチメディアなどで動作するモジュールを何度も書き直しました。 RAD Studio開発環境、つまりDelphiを選択したのは無駄かどうかについてよく話しました。 時々、私たちはgaveめ、Delphiで何かを開発する人たちもめました。 彼らは待って、「エンバカデロの人たちは、環境自体とFMXの豊富なグリッチとバグにいつ注意を払うのか」と考えました。 「XE ...」の新しいバージョンのリリースを期待するたびに、何が起こったのかを理解し、「fiasco」(私たちにとって)を試みました。今回は「再び修正しませんでした」...



そしてついにそれが起こった! 奇跡でなければ、ほとんど予想されていました! Embarcaderoは、RAD Studio XE6の次のバージョンをリリースしました。



XE6バージョンは、Embarcaderoがリリースを発表するとすぐに、ロシアでの販売開始よりも1週間前に購入しました(ロシアのEmbarcadero駐在員事務所のSergey Kozhevnikovに感謝します)。



まず、私たちは気づきました(文字通り、それを使った最初の日):

-開発環境の安定性が大幅に向上し、実際にほぼ安定して動作するようになりました(特にそのような機能を備えた絶対的に安定したソフトウェアは存在しないと思わないでください)。

-IDEの速度が向上しました。

-Android向けコンパイラの速度が大幅に向上しました。

-コード内の多くのバグとエラーを修正。

-FMX用に開発されたアプリケーション自体の速度が大幅に向上しました。

-非常に便利な新しい機能があります。

そして、はるかに。 私たちはすべてをリストするわけではありません。誰かが興味を持ったら、喜んで情報を共有します。



上記のすべてに基づいて、あなたはかなり公平な質問を持っている可能性が高いです:「そして、どこにあるのは、この蜂蜜の樽の軟膏で飛ぶのですか?」



実際、Embarcaderoは1つの非常に重要な点に焦点を合わせていません。 Firemonkeyテクノロジーは、原則として、WindowsでのみVCLを操作することとは異なります。 Object Pascalを知っているだけで十分だと言うなら、根本的に間違っているでしょう。 それほど単純ではありません。 FMX自体の作業の性質により、クロスプラットフォームアプリケーションの作成を始めたプログラマーは非常に困難です。 彼はしばしば完全に説明できないバグやグリッチに出くわし、Delphiの「曲率」にすべてを帰します。 そして部分的に正しい、なぜなら 教材は実質的に存在せず、Delphiを使用するのに十分な例もありません。



まだいくつかの例を見つけることができますが、実際には、エンバカデロ自体と私たちが尊敬する伝道者の例は正しいですが、完全ではありません。 場合によっては、単純に複雑なアプリケーションの開発を提供せず、「表示」したい機能のみを実装します。多機能アプリケーションを作成する必要がある場合、FMX操作のメカニズムの完全な説明がないため、開発者にとって困難を引き起こす可能性があります。



上記のすべては、特にFMXを使用するさまざまなプラットフォーム用のアプリケーションの開発に適用されます。



はい、FMXにはまだいくつかの問題があります。

-彼女は私たちが望むほど強くありません。

-VCLほどコンポーネントで飽和していません。

ただし、これはすべて、FMXを使用して良い本格的なプロジェクトを作成できないことを意味するものではありません。



できます! そしてそれは必要です!



FMXとEmbarcaderoに「気分を害する」理由は他の多くの人たちよりも多くありますが、私たちはあきらめず、最終的に私たちが長くて苦労して成し遂げたことに到達しました。

RAD StudioとFiremonkeyのその後のリリースがすべて同じか、さらに良いものになることを願っています。



Delphiでの開発経験やプロジェクト自体に興味がある人は、個人的なメッセージを書いて、 サイトからアプリケーションをダウンロードしてください。 すべてのご質問にお答えします。



All Articles