これでアプリケーションの準備が整い、Android / iOSと比較して開発経験を共有できます。
IDE
これは、おなじみのEclipseであり、Blackberryの拡張機能セットを備えています。 プラス-もう何も学ぶ必要はなく、環境はおなじみです。マイナス-IDEは拡張機能のセットとしてではなく、セットとしてのみ提供されるため、ベンダーごとに1台のマシンで複数のEclipseを保持するのは少し不便です。 ただし、これはすべて、新しいカスケードフレームワークでのネイティブアプリケーションの開発にのみ適用され、Android / AIR開発者は通常のツールを放棄することはできません。
カスケードSDK
本質的に、これはQt4 + QMLであり、Qt4ですべてが単純な場合、QMLでは標準要素がBlackberry UIコンポーネントに置き換えられ、構文のみが残ります。 これにはプラスがあります-すべてのプログラムは同じように動作しますが、マイナスもあります-機能性と柔軟性の点で、新しいコンポーネントは、特にレイアウトの利便性と「柔軟な」レイアウトの点で通常のものより劣ります。 レイアウトに慣れるのは、特にすべての要素に存在するマージンとパディングプロパティが常に結果に影響を与えるわけではないという事実(コンテナ、コントロール、または別のコンテナによって異なります) 。
ネイティブSDK
これは純粋なC APIであり、オブジェクトQtコードの次には異質に見えます。 完全にそれなしではできません(たとえば、Bluetoothが必要な場合)が、例では、独自のラッパーを作成して、独自のラッパーを作成しないようにすることができます。
既存の問題
- QMLエディターはハードウェアアクセラレーションに依存しており、常に起動するわけではなく、常に起動するわけではありません。たとえば、SDK v10.0で動作しますが、ベータ10.1ではオフになっています。 プレビューなしで作業できますが、時間がかかります。 Androidのように、さまざまな画面の解像度と向きのプレビューメカニズムはありません。デバイス上のすべてを確認する必要があります。
- シミュレーターの動作は非常に遅く、速度はiOSシミュレーターだけでなく、本格的なAndroidエミュレーターにも達します。 さらに、シミュレーターはARMとは異なるアーキテクチャーであるため、開始する前にビルドターゲットを切り替えるために、そのアプリケーションを個別にコンパイルする必要があります。
- 開発モードを有効にするには、デバイスにパスワードを入力する必要があります。少なくとも6文字は連続していない必要があります。このパスワードは、デバイスの長いダウンタイムの後、およびデバッグのためにコンピューターに接続するたびに入力する必要があります。 開発モード自体は再起動後にオフになり、再度オンにする必要があります。
- デバッグモードのアプリケーション用に作成された証明書は数週間しか発行されないため、再作成する必要があります。難しくはありませんが、もう一度時間がかかります。
- SDKおよびAPIは積極的に開発および更新されています。その結果、一部の例(公式サイトからのものを含む)は、無関係のために正しく機能しません。
- Cascadesにフォントをアップロードする通常の方法はありません。
- 複数構成サポートメカニズムは、Androidの機能よりも劣っています。 解像度オプションは3つしかありませんが(dev alphaの場合はz10の場合と同じではありません)、この欠点はすでに感じられます。
- C ++。 私はこの言語が本当に好きですが、C#/ Javaの後、1つの間違った点によって引き起こされるコンパイラエラーのすべてのストリームは、混乱を引き起こします。
- StackOverflowの新しいプラットフォームに関する質問はまだほとんどありません。
長所
- 開発者向けのWebサイト 。 これは非常に便利で、APIに関する多くの情報が含まれています。また、GitHubには、あらゆる場面での豊富なサンプルが含まれています。 さらに、例は、コードを取得してローカルで処理できる本格的なテストプログラムです。 各トピックには、ドキュメンテーションを深く研究することなく開発を迅速に開始できる一連の小さな記事があります。
- Qt。 優れたドキュメント、強固なコミュニティ、既製のソリューションのデータベースを備えた最高のクロスプラットフォームフレームワークの1つ。
- ネイティブエクスポートメカニズムでは、一度署名された番号でアプリケーションに署名することはできません。 バージョン番号の変更を誤って忘れたアセンブリはなくなります。
- Blackberry 10は、かなりオープンな(APIの観点から)プラットフォームです。 開発者は多くのことを利用できますが、ユーザーの許可なしにプログラムが重要なサブシステムやデータにアクセスできないようにする「許可」メカニズムもあります。
- Androidのインテントと同様に、プログラムの相互作用には通常のメカニズムがあります。 パワーでは後者よりもわずかに劣りますが、最も一般的なタスクでは頭で十分です。
- Androidからの簡単な移植。 30分で1つのエラーなしに2つのアプリケーションを翻訳しました。 これは素晴らしい結果です。 もちろん、Android 2.3のみがサポートされており、受信したポートはネイティブに見えません(ただし、ユーザーの注意を払えば修正できます)。 Blackberry 10には同様のメカニズムがなく、メッセージはハブでストリーミングされ、ユーザーを悩ますため、移植する前に通知を無効にするだけです。
- J2ME、AIR、HTML5のサポート
市場
ストアはまったく変更されておらず、古いJ2ME Blackberryデバイスのときと同じように見えます。 開発者向けの優れたサイトを背景に、彼はバスケットボールコートの年金受給者です。 ユーザーの利便性も平均以下です。 それに加えて、私の最初のアプリケーションは2週間以上「保留」されています(iOSプログラマでさえも迷惑な言葉です)。
要約すると、プラットフォームの若さと多くの明らかな欠点にもかかわらず、デバイス自体と開発者のメインツールの両方から良い印象を与えます。 さらに、これらのツールのリストは定期的に拡張されており、それら自体が更新されています。 たとえば、PSDグラフィックスのエクスポーターが最近リリースされました。VisualStudioのプラグインが開発中です。