119こんにちは!Quipper採用担当の鈴木です。今回の記事は、iOSエンジニアの@m-sugawaraによる「ReactNativeに入門して感じたこと」です!是非、ご覧ください!こんにちは。モバイルエンジニアの@m-sugawaraです。Nativeを使って作られたアプリがいくつかあります。Nativeの開発に参加して感じたことをつらつらと書きます。NativeやReact/Redux/TypeScriptについてはほとんど未経験でした。Nativeをバリバリ使っておられるような方には当たり前の内容になるかもしれませんが、これから取り組もうと考えている方などに少しでも参考になれば嬉しいです。導入の背景や技術的な説明に関してはこちらやこちらに詳しく書かれているので、ご興味のある方はぜひ参照していただければと思います。Nativeのアプリ開発に参加して、一番最初に感じたのはこの点です。バグ修正などを行う際にJavaScriptレイヤーで起きているのか、Nativeレイヤーで起きているのかの切り分けをする必要があります。iOSとAndroidのどちらかでしか発生しない不具合があるなど、アプリとWebフロントエンドの総合的な知識が求められるように感じました。Nativeのソースコードを修正しなければならない、というようなことも発生していました。レイアウトはJSXなどフロント寄りの知識が開発の際には求められます。普段SwiftやKotlinに慣れ親しんでいるNativeエンジニアにとって、想定通りに開発が進まず、もどかしい気持ちになることもありました。Nativeは定期的に大規模なアップデートが行われるのですが、手元の環境をアップデートするのが容易ではないように感じます。弊社ではGitHub上の各リポジトリごとにCI環境の整備もしっかり行われているのですが、アップデートの際にCI上の環境でのみ失敗してしまい、解決に困るというような出来事もありました。この経験から、運用する上での保守性は通常のNative開発に比べるとかなり難易度が高いように思います。Nativeの場合はコードレビューしてもらえる機会があったりします。Nativeならではの体験だと思います。Nativeは十分選択肢になり得ると思います。Native導入の際にはそのような背景があったと聞いています。TypeScriptとReact+Reduxの知見が得られるこれは先程述べた学習コストが高いこととつながっているのですが、フロントエンドのコードに慣れることができます。個人的な話をすると、フロントエンドのソースコードを読むことにあまり抵抗がなくなりました。Nativeアプリは偉大な先人達の貢献により、全体的なアーキテクチャがReact+ReduxおよびTypeScriptで統一されているため、修正などでソースコードを読んでいると、様々な作法を学ぶことができます。Nativeに限らず、Flutterなどでもそうですが、修正した内容を一瞬で更新して確認することができるのはレイアウト調整においてとても便利です。Nativeの良いところだと思います。Nativeアプリを今後も続けるのかについては相談中だったりします。このように弊社では、すでに完成しているアプリでも、今後の開発速度等に影響が出るようであれば作り直すかそのままで運用するかを議論して決めることができるぐらいにはエンジニアに裁量があります。そんな裁量のある環境で一緒に開発していきたいエンジニアを募集しています。新卒で入社した繊維系商社での営業アシスタント経験を経て、2018年にQuipperに入社しました。現在は採用担当をしております。Visit確定要發送?取消。