ここから私は、S60が現在世界をリードするスマートフォンプラットフォームの1つであることを読みました。
しかし、私は理解できません:
- S60は何をしますか、基盤となるSymbian OSがすでに存在する場合のプラットフォームの必要性は何ですか?
- Symbian C++またはJavaMEでアプリケーションを作成する場合、それはSymbian OSまたはS60プラットフォーム用ですか?
- S60レイヤーをバイパスしてSymbianOS用のアプリを直接作成できますか?
S60 は基本的に UI フレームワークであり、Symbian OS 上のミドルウェア コンポーネントのコレクションです。歴史的に、Symbian は基本オペレーティング システム (カーネル、通信、マルチメディア サービス、コア アプリケーション エンジン、リファレンス UI など) を提供し、デバイス メーカーはその上に独自のコードを追加して、競合他社との差別化を図り、特定の目的のためにデバイスを最適化しました。
S60 はこれらのアドオンの 1 つで、元々はキーパッドを使用して片手で使用することを目的とした電話用に開発されました。Nokia のSeries 80とSeries 90、UIQとMOAP(S)など、Symbian OS の上に他の UI フレームワークもありました。
現在、Symbian は Symbian Foundation の動作モードに移行しているため、S60 と Symbian OS は基本的に 1 つの Symbian Foundation プラットフォームに統合されています。他の UI フレームワークは廃止されました。しかし、現在市場に出回っているデバイスには、依然として Symbian OS と S60 の区別があります。
- Symbian C++ または Java ME でアプリケーションを作成する場合、それは Symbian OS または S60 プラットフォーム用ですか?
- S60 レイヤーをバイパスして、Symbian OS 用のアプリを直接作成できますか?
使用する API によって異なります。
Java ME を使用すると、S60 固有のアドオンに依存しないアプリケーションを簡単に作成できます。C++ では、アプリに何らかの UI が必要になる可能性が高いため、S60 Avkon UI を使用する必要があります。ただし、C++ アプリにプラットフォームに依存しない UI が必要な場合は、Qt for S60をご覧ください。
いずれにせよ、すべての Symbian OS ベースのデバイスで同じバイナリを実行できるように C++ アプリを作成することは、事実上不可能です。Java では、理論上は「一度書けばどこでも実行」が機能しますが、実際には、「どこでも一度書けばテストを行い、デバイス間の違いを回避しようとする」ようなものです。
理論的には、S60 は UI フレームワーク (Avkon) とアプリケーションのコレクションであり、Symbian OS は基本的な OS サービスを提供します。S60 は、純粋な UI 要素に限定されないミドルウェアやその他のサービスも備えているため、実際にはより複雑です。
Symbian は UIKON と呼ばれる汎用 UI フレームワークを備えていますが、あまり頻繁には使用されていないと思います。また、Symbian の世界は、日本以外では S60 に支配されています (MOAP と呼ばれる独自の環境があります)。
Javaの質問についてはわかりません。
S60 をバイパスするかどうかは、アプリケーションの動作によって異なります。S60 に依存することなく、非常に単純なアプリと OS レベルのサービスを作成できます。