Native」を使っています。Native漬けの日々を送りました。ちなみに、非Expo環境です。ネイティブ連携が必要なことが予め予想されていたので、Expoは最初から使いませんでした。感想を共有しつつ、良かったこと・難しかったこと、メリット・デメリットを中心に話していきたいと思います。Nativeは、Flexboxによるレイアウト(見た目の配置)が、凄くやりやすいです。開発中は、チートシートを机の上に置きながら、常に参照しつつ行ないました。Layoutとは比べ物にならないくらい快適です。reloading)機能を使えば、瞬時に見た目が更新されるレイアウトのやりやすさにとても感動したので、Flexboxだけでも使う価値は十分にあります。大部分のコードを共通化できるiOSとAndroidで書き分けをしているコードは、現時点では数箇所しかありません。それくらい共通化できます。WebAPI通信も、iOSだったらAlamofireで、Androidだったら...となるところを、fetch関数ひとつで共通化できます。}),});なんだかんだ言って、書き分けは必要なんだろうなぁと思っていたのですが、これは嬉しい誤算でした。リロード機能による開発効率の向上Xcodeで開発していた時は、Swiftのコードを変更したら、アプリを再コンパイルする必要がありました。Nativeの場合、リロードという機能を使うことで、瞬時にJSコードの修正を反映することができます。これはかなり、開発速度の向上に役立ちました。地図のライブラリではデファクトスタンダードである「react-native-maps」をインストールするとします。その場合、JS(npm)、iOS、Androidのそれぞれで、インストール作業を行なう必要があります。Installationhttps://github.com/react-community/react-native-maps/blob/master/docs/installation.mdこうやって、ネイティブ側のインストールが必要なライブラリが増えてくると、将来のメンテナンスがどんどん大変になります。仮にライブラリのバージョンを上げるとしてもJS(npm)、iOS、Androidの全てが対象となってくるのです。Native製アプリのクオリティを上げるために工夫した事」で言われている「ネイティブ拡張モジュールは出来るだけ使わない」には、このような理由があったのかと、身をもって理解しました。Nativeは、エラーメッセージが分かりにくいです。下記の「ゆるふわ技術日誌」様の記事にもありますが、エラー箇所を特定するのが大変なのです。現状はバグが起きた場合、丹念にトレースしながら、地道にエラー箇所を特定したりして解決しています。i7でメモリが16GBです。このスペックが良いか悪いかはともかくとして、普通にパソコンが唸ります。Nativeの開発では以下の4つを立ち上げている事が多いです。ChromeやらSlackやらを立ち上げると、既にパソコンがギリギリになります。Nativeの開発は、あまりオススメできません。Studioの基本的な使い方くらいは知っておいた方が良いです。それに加えて、最終的にはリリース用のビルドをした上で、ストアにアプリを提出する必要があります。iOSでは証明書関連の作業が必要です。Studioの操作は問題ありませんでした。Androidのリリースビルド周りでは、社内のAndroidエンジニアにだいぶ助けてもらってます。Nativeのネイティブ周りの大変さから解放されるからです。Nativeアプリ開発から入門したほうが無難です。Expoも完璧ではなくて、用意されたモジュール以外とのネイティブモジュール連携が出来ません。Expoをやめることをejectというのですが、ejectを回避できるかどうかは、アプリの要件次第です。bagelee.comExpoも勢力の拡大を続けておりまして、FirebaseなんかもExpoから叩けるようになりました。Nativeに興味がある方かと思います。Nativeで開発するには二つの知識が必要です。Studioの使い方や、リリースパッケージの作成とストア提出について...など)ちなみに、私は本職のフロンエンドエンジニアではなかったので、「1.」に詰まりました。async/awaitをはじめ、新しいES2015以降の書き方を知っているかどうかがポイントで、この辺はWeb側のフロンエンドJSと必要な知識は同じになります。Expoを使うと「2.」が大幅に緩和されます。Expoで出来ることは、以下の更新ドキュメントを参照してください。Vol.106」を読みました。はてなブログProWEB系エンジニア。ブログで趣味の映画・ゲーム・読書の感想を書いたり、技術系の知見を共有しています。技術書典7にサークル参加して、技術同人誌を頒布しました。BOOTHに電子版があります。(1)月別アーカイブスポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。