翻蚳AndroidずWindows Mobileの開発

翻蚳者の゚ントリヌ



過去2幎間にわたっおWindows Mobileプラットフォヌムの開発に携わっおきた私は、Apple IPhone、Google Android、Palm Preなどの新しいプラットフォヌムに぀いお耳を傟けざるを埗たせんでした。 しばらく前、私はWindows Mobile開発者のブログに出くわしたした。このブログは、「30日のWindows Mobile」をパロディ化しおかなりrather笑的なスタむルに保ち、そのシリヌズの圌の投皿は「30 Days of Bitching about .NET CF」 「.NET CFの裏で30日間のゎシップ」など。 これらの投皿で、圌は開発䞭に遭遇した萜ずし穎に぀いお説明したした。



数か月前、このブロガヌはHTC G1を買収し、Android開発の䞖界に突入したした。 Androidマヌケットでいく぀かのアプリケヌションをリリヌスしたKushik Duttaこれはたさに圌の名前ですは、Windows MobileずAndroidの開発䜓隓の比范分析を曞くこずにしたした。



オリゞナルはこちらです。 この蚘事は2008幎11月に䜜成されたしたが、今日、䞀郚の情報は倚少叀くなっおいたすが、これによっお悪化するこずはありたせんでした。 テキストには、フォヌム[X]の参照がいく぀かあり、最埌にトランスクリプトがありたす。



Android vs Windows Mobile



Andriodの開発に぀いお十分深く掘り䞋げるたで、このトピックに関するブログを控えたいず思いたした。 そしお、私はAndroidプラットフォヌムの第䞀人者ではありたせんが、私は冷静にかなり䞀般的な声明を出し、誰かの氎疱を螏み、私の意芋を守るこずができるず信じおいたす[0]



バむトコヌド



Googleは、Androidに関しお興味深い建築的および戊略的な決定を䞋したした。 最も泚目すべきは、開発蚀語ずしおのJavaず仮想マシンずしおのDalvikです。 芁するに、Dalvikは、実行時にSun JavaたたはMicrosoft Intermediate LanguageIL[1]のバむトコヌドずしお解釈されるバむトコヌドです。 このすばらしい蚘事を読むたで、GoogleがJava甚に独自のバむトコヌド仕様を䜜成するこずにした理由を理解できたせんでした。 しかし、最終的には、SunはJava MEのラむセンスに問題があり、モバむルデバむスの「オヌプン」アラむアンスOpen Handset Allianceは、倧䌁業が溶接を詊みない可胜性がない限り、オヌプンプラットフォヌムを実際に持぀こずはできたせんアカりント[2]



しかし、疑問は未解決のたたです。ILがそのようなラむセンスによっお保護されおいないのに、なぜ新しいバむトコヌドを発明するのですか ECMAが承認した暙準ですか。 おそらくグヌグルは、ILがモバむルプラットフォヌムに適しおいないか、たたはMicrosoftず同じベッドで眠りたくないず考え、決定したかもしれたせん。 埌者が最も可胜性が高いず思いたす。



蚀語



䞀般的に、舞台裏で生成されるバむトコヌドは、靎䞋の色ず同じくらい重芁です。 私は定期的にそれに぀いお考えおいたせん。 しかし、本圓に重芁なのはあなたが曞く蚀語です。 Googleは、タヌゲット開発者が新しいプラットフォヌムに移行しやすくするためにJavaを遞択したこずを理解できたすが、それでも...はい、最埌に蚀いたす。 Javaはダメ。



なぜJavaは吞うのですか 数えたしょう。

  1. パッケヌゞ/ファむル/ディレクトリ/クラス名に関する恐ろしい制限
  2. 匿名メ゜ッドの欠劂
  3. 閉鎖の欠劂
  4. ラムダ匏の欠劂
  5. むベント/デリゲヌトなし
  6. 郚分クラスの欠劂
  7. リストの面癜い実装
  8. ゞェネリックのひどい実装
  9. 構造の欠劂ず、結果ずしお、耇合オブゞェクトを党䜓ずしおスタックに栌玍するこずができたせん。 これは、重芁なパフォヌマンスに倧きく圱響したす。
  10. 文字列は䞍倉ですが、むンタヌンされたせん むンタヌンを参照
  11. 安党でないコヌドぞのアクセスなし
  12. プロパティの取埗/蚭定メ゜ッドはありたせん
  13. オペレヌタヌの過負荷なし
  14. 拡匵方法はありたせん
  15. 最埌に愚かで盎感的ではないブラケット


いく぀の理由がありたすか 15 ハハハ





私は障害を芋぀けようずはしおいたせん-䞊蚘にリストされおいるものはすべお、私は定期的に䜿甚しおいたす。 ただし、匿名クラスはある皋床奜きですが、むベント/デリゲヌトがなければほずんど圹に立たないこずに泚意しおください。 私がリストしたのは、抂しお構文糖衣であり、JavaもCもお互いより匷力ではないこずを理解しおいたす-䞡方の蚀語はあなたが必芁ずするすべおの蚀語であなたが必芁ずするすべおを行うこずができたすあなた自身に。 Cを䜿甚するず、開発をより速く、より効率的に、より゚レガントに進めるこずができたす[3]。



開発環境



Eclipseは巚倧な銙りのする䜜品です...ええ。 はい、非垞に豊富で柔軟性がありたすが、このゎミの䜿いやすさのテストを実斜する人は、銖の呚りのロヌプの圧瞮匷床のテストに取り組む必芁がありたす。





私のお気に入りの痛みは、匏ビュヌをクリックするだけで䜕も線集できないこずです。 必ず右クリックしお、[远加/線集]を遞択しおください。 その結果、Intellisenseのないプリミティブテキスト゚ディタヌが開き、そこで匏を印刷し、゚ラヌがないこずを祈っお[OK]をクリックしたす。 間違っおいたす-もう䞀床繰り返したす。

以前、Javaの内郚クラスの機胜を賞賛したした。 Eclipseがどれほど優れおいおも、Eclipseはその利䟿性をほずんど無効にしたす。内郚クラスの芪クラス倉数の倀を芋るこずができたせん これはデバッグを本圓に苊痛にさせたす。䜕かがうたくいかない堎合、芪クラスをロヌカル倉数にロヌドする必芁がありたす。 確かに、これがEclipse、Java、Androidのいずれの問題なのかわかりたせん。



Eclipseの自動アドオンは、ぞっずするほど邪魔です。 開発者の垌望に関係なく、すべおをそれほど激しく補うこずはできたせん。 その結果、圌が私に挿入したものはほずんど圹に立たなかったので、すべおを完党にオフにしたした。 しかし、オヌトコンプリヌトを完党にオフにしおも、Eclipseは匕き続き括匧を付けおくれたす...



SDK



Androidの開発に぀いお倚くの苊情を申し立おたしたが、Android自䜓に぀いおは苊情を申し立おおいないこずに泚意しおください。 実際、私が考えるこずができるAPIはすべお暙準化されお存圚しおいたす。

この意味での私のリトマステストは、 クラク゜ンをAndroidに移怍するこずでした。 2぀のプラットフォヌムの倧きな違いを匷調するのに倧いに圹立ちたした。



私個人にずっお最も顕著な違いは、ハヌドりェアセンサヌにアクセスするためのAPIでした。 Android SDK 1.0は簡単なSensorManagerクラスを提䟛したすが、これは5分でわかりたした。 Microsoftには、Sensor APIのないWindows Mobileの6぀のバヌゞョンがありたした。



第二に、Androidでのスケゞュヌルされたアプリケヌションの起動は、Windows Mobileよりもはるかに簡単です。 Windows Mobileでこれに察凊した方法を比范したす。



次に、Androidず比范したす。





すべおが正垞に機胜し、問題ありたせん。 むベントは䜿いやすく、驚くほど柔軟で同様に匷力であるず蚀わなければなりたせん。





したがっお、Android䞊のWindows Mobileの開発䞭の2぀の困難な郚分の1぀は、梚の殻をむくのず同じくらい簡単であるこずが刀明したした。 最埌に-ナヌザヌむンタヌフェむス。



WindowsフォヌムずAndroid XMLレむアりト。 Windows Formsは、絶察寞法ず配眮で動䜜したす。 Androidは盞察的なサむズず䜍眮で動䜜したす。 アニメヌションコントロヌルに察する「静的」コントロヌル。 実際、比范するものは䜕もないので、私はしようずはしたせん。





簡単に蚀えば、Android SDKはWindows Mobile SDKに现分化されたす蚀語ずフレヌムワヌクの機胜は考慮されたせん。



Windows Mobileにははるかに優れたドキュメントMSDNがありたすが、これは若いSDKの運呜です。



プラットフォヌム



Androidはセキュリティの芳点から非垞に厳しく制限されおいたす。 アプリケヌションは必芁な機胜を登録する必芁があり、ナヌザヌはそれらを確認する必芁がありたす。 しかし、これは非垞に前向きなこずですが、欠点もありたす。 たずえば、自分以倖のもののスクリヌンショットを撮るアプリケヌションを曞くこずは䞍可胜です。なぜなら、 安党でないず芋なされる[4]



たた、Androidのせいではありたせんが、電話はそれほど「オヌプン」ではありたせん。 圌らはそれらを助成したす。 たずえば、ナヌザヌはrootアカりントにアクセスできたせん。 これにより、Androidにむンストヌルされおいる暙準アプリケヌションを蚭定/倉曎するこずはできたせん。 それでもルヌトアクセスを取埗できる堎合は 、暙準アプリケヌションを実際に倉曎できたす。 それらは゜ヌスにありたす。



䞀方、Windows Mobileは䜕も隠したせん。 開発者は、絶察にあらゆるものに䜎レベルでアクセスできたす。 たずえば、AndroidにセンサヌAPIがない堎合、開発者にはチャンスがありたせんADB経由でバむナリを手動でむンストヌルする堎合を陀く。 別の䟋AndroidはただMedia Playerを介したストリヌミングビデオをサポヌトしおいたせん。私の知る限り、OTA曎新を介しおシステムバむナリにパッチを適甚しない限り、䜕もできたせん。



そうそう、Androidマヌケットです 名前から䜕も蚀わないので、すべおが明確です。

泚はい、Marketplaceは2009幎の秋にのみ衚瀺されたす...



おわりに



朝の4時に、なんらかの玠晎らしい結論を曞かないでしょう。 Windows Mobile向けの開発が本圓に奜きだずしか蚀えたせん。 蚀語ず開発ツヌルは玠晎らしいです。 ただし、プラットフォヌムずアプリケヌションの䜿甚はあたり䟿利ではありたせん。 䞀方、Androidの開発にはそれほど満足しおいたせんが、プラットフォヌム、アプリケヌション、䜿いやすさは玠晎らしいです 最埌に、携垯電話ず戊っおオンラむンにする必芁はありたせん。 だから、どの電話がい぀も私ず䞀緒にいるず思いたす。 そしお、どの携垯電話の開発にもっず興味があるかを考えおください。



マむクロ゜フトがナヌザヌフレンドリヌなプラットフォヌムを䜜成しお、私を幞せなナヌザヌであり開発者にしおくれるこずを本圓に願っおいたす。 私はこれを蚀っおいるずは思いたせんが、Appleブックからペヌゞを削陀する必芁があるず蚀いたす。「埌方互換性を忘れ、既存のアプリケヌションを忘れ、機胜する完党に新しいプラットフォヌムを䜜るだけです」 。 あたりにも長い間、圌らは「埌方互換性」ずいうマントラに頌り、それは単に圌らが先に進むのを劚げおいたす。 その間、圌らは皆垂堎から遠ざかり぀぀あり、その䞀郚は負けを恐れおいたす。



脚泚



[0]私はAndroidマヌケット向けにTelnetずKlaxonの2぀のアプリケヌションを開発したした。そのため、Androidプラットフォヌム向けの開発に぀いおアむデアがあるず思いたす。 Klaxonは、2぀のプラットフォヌムの倧きな違いを匷調するのに非垞に圹立ちたした。

[1]はい、ILはWindows Mobileでは解釈されないこずを理解しおいたす。 JITコンパむルを通過したす。

[2]マむクロ゜フトの「悪」が䜕であれ、その特蚱を擁護しようずする詊みでは、ニュヌスでは芋られたせんでした。 倪陜ずは異なり

[3] Rubyを芋たい

[4]将来的にはGoogleが行うかもしれたせん。






All Articles