Android Weekly Topics

疲れさまでした⁠Windows CEがひっそりと終了です

Androidが普及する前のモバイルOSと言えば、Windows CE、Symbian OS、Newton OS、Palm OSなどです。

筆者は、Windows CE向けにDMoneyなどのアプリを開発していたこともあり、思い入れがあるのでAndroidの話題から外れますが、今回はWindows CEを取り上げていきます。

30年近い時間が経過しました

Windows CEは、2023年10月10日に「Windows Embedded Compact 2013」のサポートを終了し、その歴史に幕を下ろしました。

冒頭で取り上げたOSの中で、いまも現役でメンテナンスされているものはありません。モバイルは魑魅魍魎がはびこる業界で、10年単位で生き残るのは簡単なことでない証とも言えます。

Ending Support in 2023 - Microsoft Lifecycle | Microsoft Learn

余談にはなりますが「Products reaching End of Support」の中には「Windows RT」も含まれており、2023年1月にサポートが終了しています。ARM版Windowsの前身とも言えるOSですが、搭載端末はMicrosoft版のiPadのようなもので、汎用OS搭載のWindowsと差別化が図れ、分部類はモバイルOSに近い存在でした。

話をWindows CEへ戻します。

この印象も薄れつつありますが、90年代を代表するPC向けのOSメーカと言えばMicrosoftです。Windows CEは、Windows PegasusのコードネームでMicrosoftが開発した組み込み向けの32ビットOSでした。

もう見る機会が少なくなりましたが、搭載するデバイスは、SH3やMIPS R3000、R4000といったプロセッサで動作していました。ARMが幅を利かせるようになったのは、この後からです。端末は、キーボード搭載の小型クラムシェル型で、Handheld PCと言われていました。

「モバイルギア」「カシオペア」の名前を出すと、当時の思い出がフラッシュバックする方も多いのではないでしょうか。

Handheld PCと並行して、端末は手のひらに収まる大きさで、見た目が現在のスマートフォンに近い、Plam-size PC(のちに、Pocket PCとなり、Windows Mobileでもfor Pocket PCとして存在)もありました。いまはなきCompaqが開発した「iPAQ Pocket PC」が代表端末でしたが、当時は通信機能を持っておらず、別途用意が必要だったのは、今では考えられません。

Androidは、2007年11月に発表、翌年の10月から端末の発売が開始されます。この後、モバイルOSは、AndroidとiOSの2択になっていくのはご存知のとおりです。

開発環境は強力でした

Windows CEは、Windowsを縮小したようなユーザインターフェースをモバイルに持ち込み、アプリの開発はWin32 APIを使うというものでした。当時は斬新なアイデアで、筆者もこれに感銘した覚えがあります。

また、開発者向けのサポートも手厚く、個人デベロッパの筆者でもWindows CEの初期からSDKが入手できる状況でした(人的つながりのほうが強かったかもですが……⁠⁠。

アプリ開発は、Visual Studioでクロスコンパイルをして、エミュレータでデバッグ、最終は実機で確認の流れで、今の開発スタイルとそう変わりありません。

今のように、AndroidとiOSで動作するアプリを、1つのコードで開発するために、Web技術をベースにすることはなく、WindowsのプログラミングモデルとC言語で使って開発します。Win APIでアプリを開発したことがあるならば、多少の学習は必要でしたが、PCと同じような感覚でアプリ開発ができました。とは言え、CPUは40MHz程度のSH3、メモリは4MBとハードウェアリソースは限られていたので、これらを常に意識して開発する必要がありました。

当時は、C言語を当たり前のように使っていたので、これを使うことに疑問を持つことがなかったのと、アプリ規模がそれ程大きなものではなく、ネットワークを前提としないアプリが多かったので、デバッグに苦心することはありませんでした。

数年は、アプリ開発を続けていたと思います。

この数年の間で、C++のSTLが使えるようになり、筆者にとってはパラダイムシフトでした。当初は、メモリ喰いの印象を持っていましたが、次第に気になることはなくなり、開発スタイルに変化をもたらした記憶が残っています。

筆者が開発していたアプリでは、部分的に導入はしていましたが、もともとC言語をベースに書いてあったために、全面的に移行することはなかったと記憶しています。

ここまでが、筆者のWindows CEの歴史です。

以降は、Windows Mobile、Windows Phoneとになりますが、これは、機会があれば取り上げたいと思います。

今週は、このあたりで、また来週。

おすすめ記事

記事・ニュース一覧