なかしょの技術日誌

業務では非MS系のものばかりですが、ここではMS系の技術やサービスを中心に書いていきたいと思います。

Tizen .NETのプラットフォーム固有APIの制限事項

Xamarin.Tizenチョットデキルのなかしょです。

以前も紹介しましたが、Tizen .NET Architectureは以下のようになっています。

f:id:nakasho_dev:20161118015607p:plain

これだけ見ると、「Platform specific API」使えば、Xamarin.Forms使わずにTizen用アプリ作れるんじゃね、という印象があります。

でも、Tizen.NETでは「The C# APIs provide support for 60% of Tizen Mobile APIs.」と説明があり、Nativeで使用できる60%しか.NETのAPIを用意していないようです。では、対応しているものは何かというと以下が列挙されています。

  • Tizen.Applications
    • Provides the Tizen application framework, including, for example, application state change events, inter-application messaging, and notification services.
  • Tizen.Content
    • Provides content management services, such as file and media downloads, storing and indexing audio and video content, and associating content types with helper applications.
  • Tizen.Location
    • Manages geographical location services and geofencing.
  • Tizen.Multimedia
    • Interacts with media services, including audio playback, recording, and device policy.
  • Tizen.Network
    • Provides APIs to control connectivity devices, as well as providing various network information.
  • Tizen.Security
    • Provides access to secure storage for passwords, keys, certificates, and other sensitive data.
  • Tizen.System
    • Provides device-specific services, including status, system information and settings, feedback, and sensor control and access.

以上です。Nativeには他にどのようなAPIがあるというと前述のアーキテクチャ図から以下だと見て取れます。

  • Base
  • Messaging
  • Social
  • Telephony
  • UI
  • Web

なんということでしょう。

UIがTizen.NETにはないです。
ということはXamarin.FormsでTizenの画面が乱れたときに、Custom Rendrerなどで解決したくてもできません。
Xamarin.Forms標準のUIでできることしかUIが表現できないようです。

闇が深そうだと分かったところで今日はここまで。