Makopy'5 La6

スマホアプリ開発とかその周辺のこととか関係ないこと。または恋は言ってみりゃボディー・ブロー

MobileApp Design #1 に行ってきました

MobileApp Design #1 に行ってきました!
↓↓↓
mobile-app-design.connpass.com

色々と面白いお話、
タメになるお話が聞けて、
有意義な時間になりました☆

主催・運営・登壇者の皆さま、
ありがとうございました!

話の細かな内容やまとめというよりは、
話を聞ききながら、
自分自身の開発経験に照らし合わせた所感や、
思い出したことをつらつらと。

iOSのUIについて

UIのデザインコンセプトとしては、

  • iOS6まではスキュアモーフィックデザイン
  • iOS7からはフラットデザイン

自分のiOSアプリの開発のスタートは、
iOS4系だったと記憶しています。
iOS7が登場するまでの数年間、
リッチなUIを求めがちでした。

世間一般にどのような手法で、
UIのデザイン〜実装をしていたのかは知らないのですが。
自分の周囲では、

  • 画像パーツを切り出して差し込みまくり
  • オリジナルなUIコンポーネントをどんどん作りまくれ!

というような感じで、
UIの検討/実装に手間がかかりまくる→つらい状況...。

その弊害。
iOS7になったら、

  • UI全部、検討からやり直しに近い状況じゃん...。
  • Phone5? 画面サイズ固定神話が崩壊した...。

とまぁ、
こうした経緯・痛い目に遭った経験から、

という考え方にシフトしていったように感じます。

Xamarin.Formsについて

現在メインで携わっているプロジェクトは、
Xamarin.Formsで開発しています。

XAMLベースでUIを実装し、
共通のコードでOS毎のネイティブUIが得られる。

というのが基本コンセプトですが、

  • 複雑なUIには向かない
  • バイス依存機能/OS固有機能が多くなるとしんどい

というのが泣き所でしょうか。
自分がやっているプロジェクトでは、
両方を満たしています...。

確固とした基準があるわけではありませんが、
UI/機能面で込み入ったアプリに対しての採用は、
慎重になった方がいいと思います。
DependencyServiceCustomRendererを使うことにより、
実現不可能なことは少ないとは思いますが、
Xamarin.Formsを採用するメリットのいくつかは失われることになります。

泣き所を飲み込んでもなお揺るがないメリットとしては、
「コード/プロジェクトが単一の言語で一本化されること」
ですね。
結果として、
仕様面や構成管理面での問題が激減します。

Ionicについて

Ionicがv1だった頃、
Ionic/Cordovaでのアプリ開発に携わったことがあります。

v1当時から、
標準のUIコンポーネント群は充実しています。
加えてv3では、
OS毎に最適化されたデザインになっています。

Xamarin.Formsと同様に、
「デバイス依存機能/OS固有機能が多くなるとしんどい 」
という性質は同じですが、
UIはネイティブではなくHTML/CSSで表現する為、
HTML/CSSが出来る人であれば、
UIへの柔軟な対応(カスタマイズやオリジナルなUIコンポーネントの作成)が、
比較的容易だと思います。

個人的には、
Webフロントエンド系のあれこれとか、
JavaScript(AngularJS)だとか、
その辺りに馴染みが薄かったゆえの苦労が多少あったくらいでしょうか。

そんなこんなはともかく、
「Ionicを使って開発しています」
という人を実際にお見かけすることが出来たのが、
心からうれしかったです。
同じプロジェクトのメンバー以外でそういう人が周りにいないもので...。