【勉強会メモ】関西モバイルアプリ研究会 #24
日時:2017/08/29(火) 19:30 〜 22:30
場所:はてな京都オフィス
超遅刻してしまったため後半の4テーマのみレポート。
DelphiでiOS開発
発表者: @akira_system
遅刻して席についたらいきなりDelphiの話をしていたので違う勉強会に来たのかと思ったが、DelphiでiOSアプリの開発できますよという話だった。最近はサーバサイドも書けるらしくDelphiだけで1つのサービスを構築することも可能かもしれない。
あとで調べたところApacheやIISで動くモジュールが開発できるらしい。
11言語対応のアプリを作った話
発表者: @itok
WeatherJapanという訪日外国人向けの天気アプリを11ヶ国語に対応させた話。
つい先日iOS/Android版ともリリースされたとのこと。
基本的に天気マークは世界共通なので、ローカライズが必要だったのは地域名、アプリの説明文、エラーなどのメッセージなど。
地域名は全1,916市区町村を803地域に省略し、その地域の代表経緯度を元にGoogle Map APIで地名のローカライズ表現を取得するという作業を行ったらしい。
アプリの説明文は gengo.com に発注し、アプリ内のテキスト表示はGoogle翻訳、その後、説明文との整合性やドイツ語のように長い言語のメッセージを短い表現に置き換えるなどの調整を行ったとのこと。かなり地道な作業な気がする。 11言語は訪日外国人の数や言語のカバー率を考慮して選んだとのこと。
ちなみに、日付のフォーマットや温度の表現などはiOSは取得できるがAndroidは取得できないらしい。確かにAndroidではOS全体で日付の形式を統一するような仕組みは無いのでアプリ単位で設定するしかない気がした。
GUIアプリケーション三種の神器
発表者: @cockscomb
GUIアプリケーションを開発する上で重要な3つの要素
- Observerパターン
- インスタンス管理システム
- 非同期的な処理
これら3つを抑えておけばだいたい何とかなるということで三種の神器ということらしい。 GUIアプリケーションはステートフルアプリケーションであり、状態のかたまり。 本質的な難しさは状態管理にあるので、状態管理のための三種の神器とも言えるとのこと。
LiveData
発表者:funnelbit
Google I/O 2017で追加された、Android Architecture ComponentsのLiveDataについて。
Android Architecture Componentsとは?
理想的な設計を容易に実現できるAndroidのライブラリ群。 大きく4つのコンポーネント⇒Lifecycle/LiveData/ViewModel/Room
値を保持して変更を通知する仕組みで、Rxjavaの BehaviorSubject
と似ているとのこと。
あまり詳しくないので公式を参照。少し勉強したい。
- Googleからこういうのが出るのは画期的
- シンプルに作られている
- RxJavaを置き換えるものではない
ただし、まだ正式版ではないので導入は様子をみてからのほうが良さそう。