━目次━






「Osaka Mix Leap」と称しヤフー株式会社が定期的に開催している勉強会に初参加してきました。

理由は『大阪では数少ないReact関連の勉強会だったから』です。

じゃけぇじゃけぇ

そう、、俺はReactを習得する!!

私はこの業界に入ってからJava(C#も少し)/JS/JSPの業務系システムばかりやっています。

「流行りに乗れてないなー」と思っていたのでモダンな技術に触れたいと思って、色々考えた結果Reactを勉強しようと決めました。

ここらへんの理由については別途記事に

 業務系JavaエンジニアがReactを勉強すると決意した理由



そこで「大阪 React 勉強会」とかで調べてみたんですが、、、


全然無いやないかい!!


そんな折、connpassで上記の勉強会が開催されることを知り即申し込みをしました。

テーマはアプリ開発用のReactNativeでしたが、書き方はReactとほぼ一緒というのは知っていたので参加することに。


ではでは
React未経験
アプリ未経験
ヤフー未経験(意味不明)


の私がReactNative勉強会に参加してみた所感をまとめてみたのでご覧あれ~

勉強会の概要・登壇者

勉強会のスケジュールは以下のようなものでした。


ヤフーから発表者が2名、株式会社Gemcookから2名、その他LT3名です。

ヤフー開催ですが、ヤフー自体はReactNativeのチームがあったりするわけでなく、前職で触ってたみたいな人が発表していました。

GemcookはReactにバリバリ力を入れている大阪のベンチャーで上記の藤本さんが代表だそうです。
サイトもデザインお洒落です⇒Gemcook, Inc.

発表が終わった後には飲み物や軽食を囲んで懇親会が毎回あるみたいですね。

じゃけぇじゃけぇ

(今回参加できなかったから次こそ、、、)

印象に残ったこと

では各発表を聞いていて印象に残ったことや、ReactNativeのメリットなどをあげます。

learn once, write anywhere

Javaは

『write once, run anywhere』
(1度書いてしまえばどんなマシン/OSでも動く)


で有名ですが、それと比較するかのようにReactは

『learn once, write anywhere』
(1度習得するとどこにでも書ける)


と言われています。

1回Reactの書き方を習得すれば、Webシステムは勿論、ReactNativeを使ってiOSもAndoriodも書けちゃうんですね。

この汎用性はヤバい程魅力的です。

ホットリロードがアツい

私はアプリ開発したことないので分かりませんが、どうやらビルドが面倒のようですね。

それがReactNativeなら更新するだけで反映されるので開発スピードがかなり向上するようです。

Javaだと、毎回サーバ再起動しないといけない感じですかね。開発したくなくなりますね…

考える人考える人

激熱やな!ホットだけに!

じゃけぇじゃけぇ

iOS/Androidの両方が同時にビルド可能

これはすごいですね。
スピード感が開発したことなくても想像できました。

実際に8割同じコードで書いたiOSとAndriodの画面も見せてもらいましたが、すげ~って感じでしたね。

便利なライブラリが豊富

Reactは必要なものはライブラリから取ってきて足していく、みたいな感じなのですが、

実際にGemcookさんでも使っているこれは便利だぜっていうライブラリを紹介してもらったので列挙しておきます。

便利なライブラリ

●NativeBase
 WebでいうBootstrap的なやつ。良い感じにしてくれる。
●React Navigation
 タブ等画面遷移が簡単に
●Fluid Transitions for React Navigation
 これもナビゲーション系?
●react-native-router-flux
 簡単に画面遷移とか試すなら。実務では弱い。
●react-native-splash-screen
 アプリ起動をかっこよく
●ReactNativeCamera
 カメラ使うならとりあえずこれ
●react-native-maps
 マップ使うならとりあえずこれ。けどみんな色々苦労してそう。
●react-native-vector-icons
 使えるアイコンたっぷり
●React Native Blur
 画像と組み合わせて良い感じの画面ができる
●react-native-lightbox
 画像選択したときにかっこよくポップアップで表示したり
●Lottie for React Native
 リッチなアニメーションが簡単に実装できる
●react-native-app-intro
 オンボーディングを構築するためのライブラリ


凝った開発しようと思うとどうしてもネイティブのカスタマイズが必要

iOS/Andriodどちらもソースを共通化できるとは言っても、小難しいことをしようとするとどうしてもiOS、Andriodそれぞれのカスタマイズが必要になってくるようです。

なのでアプリの複雑さや、最終的なゴールを見据えて採用する必要はありそうです。

AirbnbのReactNative撤廃の真意

「ReactNativeってどんなアプリに使われてるの?」

と聞かれると真っ先に上がるアプリの代表の1つがAirbnbでした(その他FacebookやInstagram等)

しかし2018年6月にAirbnbは

『ReactNativeや~めたっ!』

と言ったのです。
(その際Redux難しー!と言っていたそうです(笑))

その真意として以下のような解説でした。
当時ReactNativeはAirbnbにとって最適な解決策だった
しかし、Airbnbの急成長がReactNativeの発展を追い越してしまった



ここから分かるのはやはりスモールスタートを切るにはReactNativeは
iOS/Andriodが同時に作れる
開発スピードが速い
web開発者も取り組みやすい


という点でベストな選択なようです。

しかしユーザ体験のより良い向上を目指していくと、iOS/Andriodそれぞれで開発したほうが良いということでしょうか。


エアビほどの規模の会社にどれだけの会社がなれるのかという話ですが…(笑)

ReactNativeを学ぶ価値はあるか

良い点、悪い点それぞれ話としてはありましたが、勉強会が終わった後に考えました



ReactNativeに学ぶ価値はあるのか否か



私の答えは『学ぶ価値あり』です。

Facebookが気合いを入れて取り組んでいるので今後、そうそうのことがない限り開発ストップしないでしょう

更に、これから「自社のサービスを提供するためのアプリを作って欲しい」という企業はますます増えていくと思います。

そんな時、Reactチームがあれば

「iOS/Andriod同時に作れるんでこれだけ早く安くできまっせ!」
「なんならWEBサイトもReactで作りまっせ!」
「保守性増しまっせ」「保守性増しまっせ」「保守性増しまっせ」


みたいにアプローチできると思います。

また、フリーランスのような個人でも1つの言語を習得すれば、Web案件とアプリ案件が仕事の対象になるので単純に母数が増えます。

まだまだReactエンジニアの少ない今のうちに技術を確立したいところです。

さいごに

と、言うことでじゃけぇはReactの勉強を始めております!

仕事でJavaやりつつなんでなかなか時間はかかるかもしれませんが、このサイトで「こんなもん作りました~」と報告できるように精進します。

あ、この記事ではReactNativeについて書きましたが、いきなり未経験のアプリは学習コスト高いので純粋なReactからやります。

自分もReact勉強してます
Reactやってるぜ
この会社はReact強いよ


等々あればコメント頂ければ嬉しいです^^


それでは!また!!

最後まで読んで頂きありがとうございます!
人気の記事だけ集めたので是非覗いていってください^^
 厳選!目的別にオススメ記事を紹介-あなたの欲しい情報がここに-