Xamarin.Forms

f9ef2f8c :Anonymous 2018-04-10 00:17
半年やった上での難しいところの感想。慣れた今では良いプロダクトだと思うけど、始めは辛いと思うので書く。

## クロスプラットフォームの難しさ

クロスプラットフォーム開発は難しい。対応するプラットフォームの文化をよくわかってる人がいれば良いんだけど、わかってないメンバーしかいないとどういうデザインにすればいいかわからないから提案もしづらくて、モバイルアプリとして自然な設計に持っていくのが難しい。プロジェクトに携わるひとできれば全員がガイドラインを読むべきだし設計の根拠にしたほうが良い。

## Visual Studio の不安定さ

これは 2018-04-09 時点でも続いてる問題で、ビルドがうまくいかないことが当たり前のようにあるから、ソースコードがおかしいんじゃないのっていう疑念を新加入メンバーは抱くことになって要らないバグ探しに時間がかかってしまう。そういう問題があるってことを開発メンバー全員が理解しておかないといけない。慣れるとあー、また Visual Studio がおかしくなってんなってわかるんだけど、はじめはわからないので慣れた人が FAQ を作っていったほうが良い。

## パフォーマンス

Xamarin.Forms は普通のネイティブ開発と違って間にラッパーとなるビューやレイアウトエンジンを持っているため、気をつけないとパフォーマンスの劣化を引き起こしがち。特に重くなりがちなパターンは先人がある程度リスト化しているためそれを見れば良いんだけど、実際どういう構成だとどれくらい劣化するのかという具体的な例が公開されていないため、はじめて触った人は同じポイントにハマりやすいと思う。ちゃんと理解すればネイティブとほぼ変わらないパフォーマンスが出せるんだろうけど、ある程度経験を積まないとそれは無理だろうというのが現実。アプリのサイズがでかい問題はリンカーをうまく使えれば解決できるはず (僕は解決できてない)。

## 情報の少なさ

当たり前ではあるけどネイティブに比べて情報が少ないので、ハマったときに同じ問題に出くわした人とその解決策を見つけることが難しい。Xamarin.Forms に起因するバグなのか、ネイティブの問題なのかを切り分ける能力が必要になってくる。それと日本語の情報が出てくることを期待するのはやめておいたほうがいい。
Powered by shinGETsu.