Edited at

クロスプラットフォーム開発の辛み

More than 3 years have passed since last update.


クロスプラットフォーム開発経験

クロスプラットフォームというと主語がでかいですが、Titanium Mobileを指します。

Titanium Mobile開発経験約二年です。

出したアプリiOS6本/Android3本。

(Androidはストアから削除した/された)

最近はTitanium辞めてSwift書いてます。


Titanium Mobileの辛み


  1. クロスプラットフォームは幻想


    • iOSで開発完了→Android対応が容易ではない

    • 自分の場合、iOSにかけた時間の1.5倍くらいは必要だった

    • Android対応あきらめたアプリもある

    • ソースコードの中でiOSとAndroidの切り分けが頻発



  2. バグがあった場合、Titaniumのバグかネイティブのバグかわからない

  3. パフォーマンスがでない、カクカクする

  4. ドキュメントに書いてあるのに動かない

  5. ドキュメントに書いてないのに動く

  6. 黒魔術的なコードを書かないと回避できなかったりする

  7. Titaniumが対応しないと使えないapiがある、選択肢が狭くなってしまう


    • moduleがあればそれを使う、無ければ自分で作るしかない

    • 自分で作る->結局ネイティブの知識が必要



  8. バイナリサイズがでかい

  9. JS、いくらでもクソコードで動いてしまう


    • これは俺が悪い




Titanium Mobileの良かったとこ


  1. 記述量少なかった


    • swiftだと記述増えた、TitaniumはJSONでいい感じに書けた



  2. JSで書ける

  3. 学習コスト低め

  4. ロジックはiOS/Androidで動く


    • UI作るのがツラい




クロスプラットフォーム開発に必要なこと


  1. 工数は半分で済むと思うな

  2. アプリがヒットしたらネイティブで書き直す気持ち


    • 絶対にネイティブで開発したくなる



  3. 地雷を踏み抜く勇気

  4. 折れない心

  5. ネイティブの知識


    • 無くても何とかなる




最後に

クロスプラットフォームの辛みを書きましたが、クロスプラットフォームをディスっているわけではないです。ただ、銀の弾丸ではないということを伝えたかっただけです。

また、個人の技量や経験に大きく左右されます。この内容に共感できる人もいればそうでないひともいるでしょう。

私はTitanium、好きでした。でもつらい。