1. バンクーバーのえんじに屋
  2. 19- 2021年もReact Nativeはモ..
2021-04-19 1:00:04

19- 2021年もReact Nativeはモバイル開発の正しい選択なのか?

Chomp CTOのImaiさんをゲストに迎えて、React Nativeの今までとこれからについて話しました。


Show Notes:

・ImaiさんTwitter: https://twitter.com/tomoaki_imai

・Today I Learned: https://anchor.fm/todayilearnedfm

・『Sunsetting React Native』: https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a

・『What do you dislike about React Native?』: https://github.com/react-native-community/discussions-and-proposals/issues/64


番組の質問や感想などを受け付けています、こちらのフォーム(https://vancouver-engineers.com/contact)からお願いいたします。また、ハッシュタグ『#バンクーバーのえんじに屋』を付けてツイートしてください。


Twitterアカウント:

Yuya: https://twitter.com/van_sf_engineer

Senna: https://twitter.com/onepercentdsgn


番組Website: https://vancouver-engineers.com/

See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

00:03
バンクーバーのエンジニアへようこそ。バンクーバーのエンジニアは日本時間で毎週火曜日に更新している北米圏のテック業界やライフスタイルなどについてお届けする番組です。
実況をお届けするのは私たち2人。サンフランシスコのスタートアップでシニアテックリードエンジニアを務めるゆうやと、
エンジニアの海外進出をサポートする企業フロック代表のセナでお送りしております。 今回はゲストの方がいて、
アメリカのスタートアップでCTOをやられている今井さんという方なんですけども、何を聞きたいかというと、前回Virtual CEOのポッドキャストをもとに
ウェブの今までとこれからをちょっと話したじゃないですか。その流れでReact Nativeの今までとこれからをやりたいなと思いまして、実際に今井さんはReact Nativeで開発されているので、その辺の今までとこれからを聞ければいいなと思います。
そうですね。またやっぱり日本での活躍もそうでしょうが、サンフランシスコ海外でReact Nativeベースで開発されているというところも、やっぱりちょっと海外の話も聞いてみたいなと思いますし、
実際そのチャレンジされてその経緯の部分とかも聞いてみたいし、ちょっといろんなことを聞いてみたいと。 はい、もう何でも聞きたいですね。
何でも聞きたいですよね。 はい、それでは今井さんよろしくお願いします。 よろしくお願いします。
どうしましょう。俺今井さんと結構ね、前にクラブハウスで軽くだけお話はした程度だったかなと思うので、結構ほぼ初めましてに近いと思うんですけど、あれですよね、大下さんと今井さんは以前タッチか何かやり取りされてたことがあるっていうふうに聞いてますが。
そうですね。サンフランシスコベイエリアの日本人起業家コミュニティというのがありまして、連絡したことはあります。
なるほど、一緒に仕事とかしてたわけではないってことですよね。 そうですね、はい。
なるほど、じゃあ個人の繋がりということで、お互いもちょっといろいろ知らない部分もあるだろうし、今日ちょっと改めて聞けようと思うんですが、どうしようかな、僕一応自己紹介までしたほうがいいんですかね。
僕、あ、そうだ、今井さんと僕ツイッターで何か知らないけど繋がってて。 はい、多分クラブハウスの時ですかね。
あ、そうだ、クラブハウスの時、あの後多分僕がフォローさせてもらったのかな、多分。
はい、多分そうですね、はい。
だったかなと思うので、そうそう、やべえ俺あの時喋った人だってちょっと思いながら実は今日参加したので、直前まで忘れててすいません。
じゃあお二人はあれですか、どんなことやられてるかお互いは知ってる感じですかね。
俺一方的に今井さんのこと多分知ってるだけで、今井さん多分僕が何やってるかよくわからない感じですよね、多分。
いや、あのー、ご存知してますよ。 あ、ほんとですか。
あとあのポッドキャスターも貸していただいてるんで、はい、あのあれですよね、カナダでのエンジニアリングの、エンジニアのそのリクルーティングっていうんですか。
そうですね。 結構もう長いことやられてるんですよね、10年。
長いこと、そうですね、10年はいかないかな、7年くらいですか多分。
はい、ちょっとずっとやっていて、大島さんもまあうちも一応経由してっていうので今働いてね、アメリカの企業で働いてるっていうのもあるので、
03:01
ちょっと海外就職前のサポートをしているのがうちですと。
あれ、こんな宣伝を入れていいのかな、これ。
カナダだったらもうセナさんに行って感じですかね。
そうですね、誰か海外就職したいっていう人で、カナダ経由でもいいなっていう人がいたら教えてください。
だいたい何とかします。
もうSF海外の皆様からすればもうその人たちがいるから俺らの美術何になってるんでもう頭上がんないんですけど。
それでちょっと気になったんですけど、結構いるんですか、ベインエリアというかその辺の会社の人たちで、会社があってカナダで働いてるって方って結構いるんですか。
ここ2年か3年くらいでめっちゃ増えてきたっていうのはありますが、ここ最近ですねやっぱ、それこそ大島さんが使っているPOっていう使い方というか一応手法があって、
それはこっちのカナダ企業が大島さんのビザサポートをするくらいにアメリカの会社で働くみたいなね、そういうやり方があったりとか。
で、それ海外でというか経由だったらもう一人別の人がいたり、あとは前回のポッドキャストに出てもらったアサイさんっていう方なんかも、
ベイエリアに本社があってこっちにブランチがある会社で働いてるっていう人だったりするので、やっぱアメリカとの繋がりは相当大きい街っていうね、時差も一緒だしっていうのがあるので。
でも本当日本人で最近ようやくそういう進出できる人が増えたのは本当に2,3年の話ですね。
ああ、そうなんですね。それ以前、じゃあどうしてたんでしょうね。
いやもうアメリカはまだまだやっぱり厳しい街とか、そうですねアメリカとかシリコンバレーか、サンフランシスコはやっぱり厳しいっていう部分が一番表に立ってて、
挑戦できるレベルの人がまだいなかったっていう方がいいのかな。
あとはスタートアップね、バンクーバーめっちゃスタートアップは多いんですけど、アメリカの方の本社があるような大きい会社さんって結構ビザ周りやっぱ厳しいんで、
そうそう、なのでやっぱり日本人としてっていう部分でそういった会社に雇われるっていうのは結構最近になってようやく出てきたっていう感じですね。
ああ、そうなんですね。
みたいな感じなので、ここ1,2年でようやくアメリカ先生との繋がりが大きくなってきたので、大下さんも含めていろんな人の話をね、こうやって聞けるっていうのがすごくありがたいんですが、今日はちょっとよろしくお願いします。
よろしくお願いします。
メジャーリーガーと話せるんで今日は。
そうそう、今日はね、メジャーリーガーと、俺らからすればメジャーリーガーだから、サンフランシスコはメジャーリーガーだから。
メジャーリーガーの方ほんと、もっと山ほどいるんで、自分はまあなんとかなんとかやってるっていうところですね。
いやいや、それでもね、やっぱりもう、実績が物を言う世界ですからやっぱ。
いるだけでもう全然違いますね、やっぱり。
本当に、まあそんな感じでじゃあ早速ですが、いろいろお話お伺いしていきましょうか。
はい、そうですね、あとセナさんは今後もしかしたらアメリカとかでも同じような感じでやる可能性も僕はあると思うので、
まあそうですね。
今後もアメリカのエンジニアとかも結構関わりが出てくるのかなと思いました。
あ、でもそうだ、それで言うんだったらね、コロナ直前のタイミングで僕実はキヨさんとアポイントメント取らせていただいたことが1回あって、
多分キヨさんは俺のこと知らないと思うんだけど、うちのビジネスパートナーがキヨさんに連絡をして、
06:03
1回ちょっと是非会いましょうっていうことでサンフランシスコ行く予定だったんですよ、3月2020年。
そしたらコロナだっつって、行けなくなっちゃってポシャったっていうね。
だからまだお会いはしたことないんですが、実は勝手ながら憧れは持ってるっていう感じなので、
そんな感じでちょっとアメリカのこととかね、いろいろ聞くことも今後増えるかもしれませんが、よろしくお願いします。
よろしくお願いします。
じゃあ早速、まずは今井さんの簡単な経歴を教えていただいてもいいですか?
はい、そうですね、今現在はCHOMPという会社で働いてまして、
CHOMPっていうのは外食体験をかけるソーシャルメディアという位置づけで、サービスを今アメリカを中心に展開していて、そういうスタッフで働いてます。
自分は今先ほど紹介したようにCTOとして、フロントエンドだけじゃなくてバックエンドも中心にいろいろエンジニアリング周りとかを見ているっていう立場でやってますね。
それ以前はメルカリのUSで働いてまして、メルカリのUSの2015年ぐらいですかね、US展開を始め、2014年ですね、10年ぐらいでエンジニアリングチームの立ち上げとか普通にプロダクト開発とかをやってました。
CHOMPには2018年の11月からジョインしたという感じで、もうかれこれ2年くらいですかね、やってるって感じですね。
なるほど、メルカリのUS立ち上げに関わったってことですか、そうすると。
US立ち上げというかエンジニアリングチームですね、US自体は普通に会社を作ってっていう風にやっていて、ただエンジニアリングチームはほぼなかったので、自分がその一番最初のエンジニアとして向こうに、向こうというかアメリカか、アメリカに来て採用であったりとか、USで開発チームを作っていくっていう。
あー、そうなんですね。
はい、やってました。
じゃあメルカリ経由で最初はアメリカの地を踏んだっていうことか。
そうですね、はい。
えー、知らなかった、最初から僕勝手にCHOMPかなって思ってましたが。
あれですか、メルカリは日本で採用されたってことですよね。
そうですね、メルカリは日本ですね、日本2014年で入って、ちょうどその時入ってちょっとぐらいしてからアメリカをやっていくということで、アメリカのプロジェクトを、自分はその時アンドロイドエンジニアとしてアンドロイドを作ってたんですけど、USの方のアンドロイドのアプリをUS向けに作って、I18Nですよね、インターナショナリゼーションとかしてリリースしたという感じですね。
それが2014年の確か9月ですかね。
あーすごいな、こんなところでいきなり深掘りして聞いちゃっていいのかちょっと僕迷うんですけど、日本にいる間に採用されて、要はそれね、じゃああなた今からアメリカ飛んでエンジニアリングチーム作ってきて、はいよろしくって言われて、はいそうですねって言うのかなっていう、結構いろいろ葛藤あったんちゃうかって思うところもあるんですが。
もともとエンジニアリングチームを作るつもりじゃなかったんですよね、メルカリで、日本から開発して、一応そのプロダクトマネジャーとかデザイナーは現地でとかっていう風にしてたんですけど、それで最初2014年はやろうとしてたんですけど、結局やっぱり現地の人と直接コミュニケーションを取らないと開発がうまくいかないこととかがあって、出張は何度かしてたんですけど、やっぱりそれじゃうまくいかないということで、
09:27
当時のCEOとかプロダクトマネジャーに実家談判して、これはちょっとアメリカに行かせてくださいと言って、それでちゃんとその開発を進めていきたいですっていう話をして、2015年末ぐらいにビザ取ってきたって感じですね。
やべえ、仕事できる匂いしかしない、いやすごいね、すごいもう大変だったんですよ、そのやりとりみたいなのが。
あとやっぱり現地のこととか分からないじゃないですか、全然そのやっぱり収集感も違ったりとか難しいんですよね、全然行って話さないと分からないこととかもたくさんあったんで、特にカスタマー、やっぱりメルカリはカスタマーサポートが結構ヘビーなので、その辺のニーズだったりとかもいろいろ聞いたりとかしたりとかしてましたね。
いやー面白い、すみません、僕が勝手に深掘りしていろいろ聞いちゃって申し訳ないんですが。
なんかいろいろ聞きました僕も、例えば日本のアプリをそのまま言語替えで作ろうと最初はしてたんですけども、それじゃダメで、やっぱりアメリカにローカライズみたいな、アメリカのカスタマーに合わせたようにローカライズするみたいな感じで、アプリがなんか別物になったとかっていう話も聞いたんですけど、いろいろ歴史があったのかなと。
そうですね、いろいろありました。
日本のサービスのローカライゼーションっつったらね、なんかバンクーバーと一時期DMMがこっち来てたりとか、その前だとどこだったかなぁ、まぁちょっと別のゲーム系の会社さんとか。
バンナムとかありませんでした。
そうバンナムとかね、いろいろあったけど、ことごとく潰しちゃってるからですね、そうもう大変さは本当になんか陰ながらいろいろ噂でしか聞いてないんですが、やっぱ大変なんだなぁ。
だからやっぱメルカリが最近調子を上げてきてるのは、やっぱりこっちでヘッドをアメリカ人にして、やっぱもうアメリカに全振りして、ロゴとかも全くデザインとかも違うじゃないですか、したのはやっぱいい判断だったのかなって思ってるんですけど。
そうですね、大事な戦略だったと思いますね。
一応ヘッドはアメリカ人ではないんですよね、ジョンはスウェーデン人で、グリーンカードとか永住権とか取ってるかもしれないんですけど、アメリカ人ではないけど、ほぼほぼアメリカでのビジネスについてはもう習熟してるっていう人ですね。
ここだけでお話がだいぶ膨らんでしまうので、さっさと次行きましょうか。やばいやばい本当に。
あと経歴で一つお聞きしたいのは、今日のテーマにもなってるんですけども、リアクトネイティブ開発をやられるということなんですけども、その前はアンドロイドエンジニアだったんですか?
そうですね、アンドロイドを主にやってましたね。すごい遡ると、もともとはデータベースのエンジニアだったので、データベースのアーキテクトってことですね。
いろんなレイヤーもあるんですけど、自分は主にやってたので、結構インフラレイヤー、低レイヤーのミドルウェアの構築とか、そういうのとかをやってましたね。
12:09
なんか結構大きい会社相手にやってそうな感じですね。
そうですね、いわゆるSIR的なところですね。
それがあれですよね、さっきちょっと大島さんとも話題に分かったんですけど、ご経歴上だとIBMご出身ということで。
そうですね、IBMですね。
その時がデータベース周りのエンジニアさんやられてたってことですか?
はい、そうです。
そうなんですね、社内インフラのエンジニアっていうことで。そこが何年くらいですか?3年?
そうですね、IBMは3年いましたね。
またそこからね、いきなり結構方向転換でアンドロイドエンジニアになって、なかなかないなって思いますけど。
そうですね、なんかJavaをちょっと書いてたっていうのと、あとはアンドロイドたまたまアプリも作ってたりとかして、当時。
それは個人ですか?
そうですね、個人でちょっと作ってたりして、たまたまメルカリにアンドロイドエンジニアが足りなかったっていうのがあって。
やっぱり個人で何かやることは大事なんですね、そういうSIやSEの方って、やっぱりプログラミング書いてないことが多いと思うんですけど、仕事とか。
個人で何かアプリ作られたりとかウェブ作られたりとかすると、やっぱ転職はしやすいですよね、やっぱり。
そうですね、だからアンドロイドできますっていう一応、なんていうんですか、証明というか、そういうものになるかなと思うので、だから良かったと思います。
バンクーバーのエンジニアでは皆様からのご相談やご質問をお待ちしております。
Podcastを聞いている方はPodcastページの概要欄のTwitterアカウントへハッシュタグ、シャープバンクーバーのエンジニアを加えてご連絡ください。
バンクーバーはカタカナのエンジニ、まではひらがな、一番最後のやだけ漢字っていうちょっと難しいハッシュタグになりますが、ぜひご連絡いただければなと思います。
または番組ウェブサイトの問い合わせフォームからもご質問を送信できますので、概要欄のURLからご連絡ください。
じゃあ今回の本題に入りましょう。リアクトネイティブについて話しましょう。
リアクトネイティブなんですけども、知らない人いるのかな?僕らのPodcastを聞いている方で。
どうすかね、いないと信じたいところではありますけどね。
いないですよね、おそらく。
間違いない。でもそうね、概要だけはちょっと話ししておきます、一応。
そうですね。今までアプリ開発って2つ種類があって、iOS開発とAndroid開発。
今まではiOSだとSwift、昔だとObjective-C、AndroidだとJava、もしくはKotlinっていうような言語が違うくて、それぞれの技術が必要だったんですけども、
リアクトネイティブっていうフレームワークを使うと、リアクトの技術を使ってAndroidとiOS両方にアプリを作ることができるフレームワークです。
15:03
大丈夫ですかね?合ってるかな?
大枠大丈夫じゃないですか。だから結構、一昔前だとやっぱりウェブアプリ作りますってスタートアップがいるとして、
ウェブで作るのか、さっき言ったネイティブで作るのか、それこそ、俺ハイブリッドって言い方がやっぱりしっくりはくるんだけど、ハイブリッドで作るのかみたいなね。
ハイブリッドってもしかして僕がGAWAネイティブと呼んでるやつですか?
そうそう、GAWAネイティブって言うのかな。岩井さん聞いたことあります?GAWAネイティブって。
聞いたことありますよ。
GAWAネイティブって、こっちずっといたからか知らないけど、あんまり聞き覚えがなくて。
そうそう、GAWAネイティブっていうのは、アプリをリリースするんですけど、中身はウェブブラウザーみたいな機能で動いてるっていうアプリですね。
だから、あのフレームワークというか、そっちで言うんだったらコルドバフォンギャップとか、そっち側の話だと思うんですけど。
はいはいはい。
岩井先生にね、ちょっと一個だけトリビアをご用意しておりまして。
はぁはぁ。
うちのオフィスがあるストリート名が、実はコルドバストリートと言いまして。
へぇー。
そう、何を隠そう、コルドバが生まれてるのはそのストリートなんですよ。
あ、そうなんですか、これストリート名なんですか、コルドバって。
そう、これね、コルドバってストリート名から取ったかわかんないけど、そのオフィスがあったのがコルドバストリートだったからっていうので、
そう、アパッチの方に起動されてね、フォンギャップに変わっちゃったけど、それまではずっとコルドバってなって。
だからその時、だからもうコルドバがすごいね、アオユニックフレームワークとかで採用されててすごい有名、まだまだブイブー言ってた時は、
こっちで結構ね、あのバンクーバー出身のフレームワークだわーっつってね、話題にはなったことはあるんですが、
いやー、短い命だったよね。
ふふふふ。
まだ死んでないけど。
まぁそうですね、あの、だから昔はそういうような、あのハイブリッドとかガーネイティブとか呼ばれるのが主流だったんですけども、
それの問題点はやっぱりパフォーマンスが悪くて、なんかモサモサしてたりとか、アニメーションがちょっと微妙だったりとかっていうのを変えたのがリアクトネイティブなんじゃないかなと僕は思ってます。
ゆやさんの説明でもうおおむね正しくて、
まぁけどあのちょっと付け加えると、多分iOSとAndroidを開発するのは結構一般的には多分クロスプラットフォームって言いますね。
クロスプラットフォーム開発で、ハイブリッドっていうときは、あのネイティブとリアクトネイティブを一緒に開発するときに、あのそういうかなと思います。
で、そうですね、まぁリアクトネイティブが何が特別かっていうと、実質的には中身はネイティブのコードが走っていて、
どういうことかというとですね、ネイティブコードのまず話をすると、ネイティブっていうのはメインスレッドっていうのがありますね。
UIスレッドがあって、さらに言うとまああのアシンクロラスなタスクをする別のもう1個スレッドがあるんですけど、
そういうスレッドがあってネイティブは動いているんですけど、リアクトネイティブはそれに加えてさらに2つのスレッドがあります。
1つがシャドウスレッドっていうものと、もう1つがJSスレッドと呼ばれるものです。
このJSスレッドって呼ばれている部分が、いわゆるリアクトのコードを書いて、JSですね、JavaScriptのコードが実行される部分です。
18:02
シャドウスレッドっていうのが実はもう1つあって、ここは何かというと、リアクトネイティブでいろんなスタイルとか書くじゃないですか、
そのスタイルを受け渡して計算する、レイアウトの計算する層があるんですね。
それがシャドウスレッドと呼ばれていて、これはFacebookのライブラリなんですけど、
ヨガレイアウトって呼ばれているものがありまして、それはC++で書かれているんですけど、何をしてくれるかというと、
レイアウト情報をJSONでポッて渡すと、それぞれのプラットフォームですね、
iOS、Androidに対応したレイアウトの情報っていうのを吐き出してくれると。
それをネイティブのUIスレッドに渡して、UIスレッドそれを描画しているというのが、リアクトネイティブのざっくりした構成となっていて、
リアクトネイティブっていうのは、実際にリアクトネイティブのプロジェクトを作って、それぞれのネイティブのコードを見てみると、
それぞれ全部シングルビューなんですよね。
Androidだったらアクティビティが1個だけあって、メインアクティビティっていうのがあって、
iOSだったらビューコントローラーが1個あって、その上でいろんな細かいネイティブのビューが動いて、描画しているというところですね。
なので、意外にこれ知られていないんですけど、リアクトネイティブってかなりクラッシュが少ないんですよ。
なぜかというとビューが1個しか扱っていないので、ネイティブ上でビューをいっぱい遷移したりすることによるクラッシュとかそういうのが発生しないから、
結構安定度が高いというのが実はありますというところですね。
そうですね。リアクトネイティブの情報を追いかけたりすると、クラッシュしないというのを歌い文句の一つにしているところがすごく多いし、
あと単純にバンクーバーとかみたいなスタートアップの多い国というか地域の場合だと、やっぱり最初の初期コストという意味ですよね。
ネイティブで開発するのと、どうしてもリアクトネイティブで開発するのとという分で採用しなくちゃいけないエンジニアと管理コストがどうしても違うというところで、
やっぱり議題には上がるかなと思うので、結構そういう意味でスタートアップ向けのイメージが最初は強かったんですが、
最近だとクラッシュしないという利点からなのか、結構大きい会社さんも採用するようになっていて、すごい飛躍的な進化だよなって思いつつなんですが。
そうですね。それで、リアクトネイティブはあれなんですよね。最初のリリースが2015年の3月なんですよね。
だからもう何年前だろう?6年前くらいかな。
えー、意外と経ってるっていう。
そうですね。まあ、かなり新しい技術な感じはしますけど。
僕も2016年、もう出たての頃で、まだAndroidのサポートをしてない頃だったんですけど、にアプリを作ってリリースしたことがあって、日本で。
そうなんですね。
ていうか、Androidをサポートしてなかった時期があるんですか?
ありますよ。最初は、リアクトネイティブのショーケースがあるんですけど、そこにプルリクエストを送って、そこに日本のアプリで唯一載ってたっていうのが唯一の誇りなんですけど。
えー、そうなんだ。知らなかった。
何のアプリですか?
当時、スマホのクレジットカード決済の会社にいて、それの申し込みが結構めんどくさくて、いろんなフォームが長かったんですよ。
21:05
それをアプリでポチポチタップするだけで申し込みが終わるような、申し込み専用のアプリをリリースしました。
マイクロサービスみたいな感じなんですけど、そこだけを切り取って出したって感じですね。
へー、すごい。
あれか、コイニ時代ですか?それ。
そうです。コイニ窓口っていう名前なんですけど、もうないと思いますけど。
素晴らしい。じゃあ、意外と大島さんも結構長いお付き合いということで。
そうですね。僕はその後、もうプロダクションレベルではやってないので、いろいろいまいさんにその辺お聞きしたいなと思っています。
で、今までの中で他に代表的なアプリだと、リアクションフィリティブを作ってるのはFacebookなんで、もちろんFacebookは使ってます。
で、Instagramも実は使ってます。まあ、Facebookなんで。実質Instagramは。
さらには、メルカリもそうなんですね。知らなかった。これ、USかな?
そうですね。メルカリのUSアプリは、これがいわゆるハイブリッドアプリということで、リアクトネイティブを部分的に採用しています。
ああ、そんなこともできるんですね。今は。
で、あとはSkypeとか、Discordとかも使ってるっていうので、もうめちゃくちゃメジャーですね。
Discordもなの?らしいですね。ショーケース見ると載ってました。
Discordは、IOSだけリアクトネイティブですね。
確かブログで前に書いてたんですけど、当時だからAndroidの方にはちょっとパフォーマンス的な問題とかがあって、Androidの方は採用しなかったって感じで、
けどまあいまだにDiscordは、IOSは多分リアクトネイティブで使われてるんじゃないかなと。
あとやっぱカナダだと、カナダのShopifyもリアクトネイティブめちゃくちゃ投資してるんで、彼らはすごいですね、リアクトネイティブ使いまくってますね。
俺これ地元のサービスのくせに知らなくて恥ずかしかったんですが、Shopifyそんな投資してるんですか?リアクトネイティブに対して。
してますね。コミュニティへの貢献ももちろんなんですけど、彼らが作ってる新規サービスを全部多分リアクトネイティブでやってますね。
でアニメーションとかをやっぱり彼らはかなり力入れてやっているという感じですね。
スカイプ、スカイプ使ってたんだっけってちょっと思ったんですけど、スカイプはあれですよね、マイクロソフトに買収されてますよね。
そうですね、だいぶ前に。
マイクロソフトがめちゃくちゃリアクトネイティブにも投資してるんですよね。意外な感じなんですけど。
彼らのアプリはかなりリアクトネイティブで書かれてて、CodePushっていうアプリストアを買いさずにアプリを更新するっていうツールがあるんですけど、
マイクロソフトがそれを持っていて、なのですごいリアクトネイティブに投資してるっていう感じですね。
そうね、その機能も結構面白いですよね。今までだと審査出して審査通って、Androidだったらすぐ出せると思いますけど、
iOSだとやっぱり審査問題っていうのが結構あって、この会社も審査通らないとかあったんですけど、そのCodePushでしたっけ、っていう機能でリアルタイムにある程度変更できるようになったんですよね。
そうですね。
それなんかバンとかされないんですか?やりすぎると。
一応制約とかあって、決済周りのところは確かCodePush使っちゃいけないみたいな規約とかはあったような気がしますね。
24:07
要はAppleに見えない形で勝手に決済するなよっていう話だと思うんですけど。
Fortniteの二の間になるなってことでしょ?
そういうことなんですかね。
決済システムを自分たちで勝手に作っちゃったから、ブチ切れてAppleが落としたってことだと思うんで。
仕組みは違いの多分そういうことですよね。
CodePushはものすごい便利ですね。
それでどういう時に使いますか?
CodePushは結構Chompの場合だとHotfixに使ってますね。
要はアプリをまず普通にApp Storeで出すじゃないですか。
出してバグが見つかりましたという時にHotfixを作るんですけど、それはCodePushで出すみたいな運用でやってますね。
App Storeに申請出して待ってリリースってやったら、それだけで2日とか場合によってはかかるじゃないですか。
それを速攻で直してすぐ出せば、次の起動時にはその問題はユーザー側では解決してるっていう。
Web的な感じですよね。Webもすぐに直して出すっていうスタイルですけど。
純ネイティブのちょっと痛いところですよね。その申請して時間かかるっていうのが。
大きい会社とかだと小さいバグでも起きると致命的になるかもしれないので、その機能があるからリアクトネイティブを使うっていうこともやってそうな気がしますね。
大手の会社が結構リアクトネイティブに本当に寄ってるなってこの代表的なアプリ見て思うようになったんですけど、やっぱそこら辺がすごく影響してそうな感じしますよね。
僕結構衝撃的だったのが、2018年かな、当時Airbnbが結構リアクトネイティブを使っていて、それを辞めるっていうポストみたいなのを見て、
それで今後他の人たちもリアクトネイティブを辞めるのかどうかみたいなことを考えたと思うんですけど、なんか事件というかね。
ありましたね、そういうのも。Airbnbはめちゃくちゃ、そもそもリアクト自体にすごいコントリビューションしているんですよね。
彼らのESLintとかのプラグインもAirbnbのやつが結構デファクトみたいになっているところとかもあって、
リアクトネイティブももちろん彼らやってたんですけど、結果的に採用を見送って辞めたっていうのがあって、
彼らのブログ、読んだら多分わかるんですけど、彼らもハイブリッドアプリケーションを作ろうとしていて、
全部ネイティブがあってリアクトネイティブの部分もあるってあるんですけど、やっぱりそこの開発の難しさっていうのが非常に大きかったっていうのが、
彼らの諦めた理由の一つというのと、あとはAndroidの問題ですね、パフォーマンスの問題があったっていうところがあって、
最終的に辞めたんだけど、一番大きな理由はAirbnbの採用力がすごく強くなって、ネイティブのエンジニアをたくさん雇えるようになったっていうところですよね。
もともとAirbnbはWebスタートしていて、Webエンジニアがめちゃくちゃ多かったんで、
リアクト使ってたから自然的にリアクトネイティブをやってみようやっていう感じだったんですけど、
結果的にどんどん普通にネイティブエンジニアが増えてきて、もうリアクトネイティブというかWebエンジニアがやる必要はないよねっていうところで、
27:08
組織の課題感としてネイティブエンジニアいないっていう問題がなくなったから、じゃあいいかっていうふうで辞めたっていうところですよね。
やっぱりネイティブの方がどうしても人員差がなくちゃいけないコストが大きいイメージがすごく強いんで、
それが容易に払えるようなあんだけの会社になったらもういいよねっていうことってことですよね。
そうですね。
悲しいな、お金で解決したみたいな感じ。
でもAndroidのパフォーマンスに課題があったっていうのが初耳というかね、さっきのAndroid最初サポートしてなかったって知らなかったけど、
そんなパフォーマンス周りでAndroidは課題もりもりな感じなんですか?今も。
今はかなり良くなっていますね。
やっぱり2017、2018年のAndroid対応し終わった後ぐらいの後ってリアクトネイティブが停滞してた時期だと自分は思っていて、
一周もすごい溜まってたんですよ。めちゃくちゃ一周溜まってたんですけど、全然誰も管理してなくて、
Facebookのチームの人もいるけど、ちょっと対応できてないっていう感じで、
結構開発は滞ってたんですけど、そこで結構Facebookが抵抗入れをし始めたのが2018年末ぐらいですね。
彼らがまず一周で、これすごい話題になったんですけど、リアクトネイティブの嫌いなところを教えてくれっていう、
What do you dislike about React Native?っていう一周をですね、リアクトネイティブに立てて、
これが結構バズっていろんな人がフィードバックを出したんですよね。
一周が全然解決されないとか、いろんなアンドロイドの問題だったりとか、
アプリのリフレッシュの問題とかいろいろあったんですけど、それらを全部フィードバックを受けて、
彼らがそれが2019年の2月ぐらいに、全部そういう一周をプライオリティをつくって、
順番に対応していくっていうことがあって、そこからものすごいリアクトネイティブは進化したっていうふうに思ってますね。
なるほどね。そのスレッドちょっと見てるけど、すごいな。
ボロクソにみんな言ってますね。
ボロクソに言ってますね。大丈夫か、これ。俺心折れないかなって。
ぐらいですね。この一周立てたシーポージャーっていう人は、クリストファー・ナカザワさんですよね。
クリストファー・ナカザワっていう名前なんですけど、確か奥さんが日本人で奥さんの名字を取ってるんですよね。
っていうトリビアがあるんですけど、彼はジェストを作ってる人ですね。
テスティングフレームワークのジェストを作って、最近フェイスブック辞めちゃったんですけど、
彼が入ったのはかなり大きいなと思っていて、フェイスブックのリアクトネイティブチームに。
すごいそこからコミュニティの雰囲気も変わってきて、すごくよく回り始めたなというふうに思ってますね。
なるほどですね。じゃあこの2018年の末っていうのが結構転換期だったということですね。
30:01
ですね、はい。
これ以降にもしもARBの事件が起きてたとすれば、もしかしたらARBの考えも変わってたかもしれないっていう。
そうですね。たぶんこのARBの記事が出たことで、フェイスブックが結構いろいろ考えたのかなって思ってますね。
なるほどね。焦りがあったのかもしれないってことですね。
ですね、はい。
面白い。歴史ありですね、やっぱりこういうのって。
歴史はすごいいろいろありましたね。
あれですよね、でもこういうのってやっぱりオープンソース開発のちょっと怖いところというか、やっぱりそのコミュニティを管理してくれてる人たちがちょっと怠慢になったり。
僕らは使ってる身なんで文句を言うことは難しいかもしれないんですけど、前の会社とかで使ってたORMラッパーのサービスが開発が止まっちゃってオープンソースだったんですけど、それでどうするみたいな問題があって。
こういうふうに立ち直ってくれたならいいんですけど、それで終わってしまうと本当にやっぱりこっちとしてはつらいですよね。
今の時代らしい悩みというか。
というところで、実は僕最初にリアクトネイティブをリリースした後にもう1回リアクトネイティブでアプリを出していて、知り合いからの個人的な案件なんですけど。
その時にはiOSもAndroidも書き出せる、リリースできるようになっていて、そこで見たものがすごくて、それがExpoだったんですよね。
Expoって何なのかというと、ちょっとなんて言えばいいんでしょうね。リアクトネイティブ開発を超便利にしてくれるやつみたいなことでいいのかな。
そうですね、あってちょうどいいです。
その中の1つの機能で僕がすごい感動したのは、当時モバイル開発って実機で確認するのとかって、わざわざ実機にビルドして実機で見たりとかするのがめんどくさかったんですけど、
Expoはそこでローカルのサーバーを立てて、そこにアクセスすれば見れるみたいな仕組みとかもあったりして、これはすごい簡単にテストできるしすごい感動したのを覚えてますね。
当時やりましたよね、Androidとかの実機を100個くらい机に並べてテストとかっていうのは。昔あったけど、Expo以降はほぼそのExpo上でできるってことになったって話ですか?
Expoがサーバーを立ててくれて、Expoが入っている端末から自分のExpoのプロジェクトみたいにアクセスできるみたいな感じだったと思います。
なるほどね。
他にもいろんな便利機能があると思いますけど、今井さんの中でExpoの衝撃とかありますか?Expo以前から始めました?以後から始めました?
Expoって実は結構前に出てるんですよね。2017年くらいからあったんですよ。ただちゃんとしたサービスレベルで提供されるようになったのが結構後半だったと思います。2019年とかそれくらいだと思いますね。
まさに井上さんが言う通りで、ルビーオンレールズのリアクトネイティブワンみたいな感じですよね。便利な機能を全部用意してIDも全部そこで開発が完結するっていう。
33:03
自分もついこの間ちょっとPOCのためにアプリを作ったんですけど、コマンド2つぐらい打って10秒ぐらいでもアプリが立ち上がるっていうぐらいめちゃくちゃ体験がいいですね。
DXっていうんですか、デベロッパーエクスペリエンスが。すごく開発も盛んで、リアクトネイティブって何ヶ月かに1回バージョンアップするんですけど、それに追従もすごく早くて、使い勝手がいいっていうか、
多分本当にクロスプラットフォームの中で一番何にも準備がいらずに開発ができるっていう感じですね。
ただあれですか、もっと深いところとかもう少し柔軟性を持たせたいという時にはやっぱりエキスポを使わない方がいいとかってありますか?
そうですね。井上さんにおっしゃる通りで、本当にルビーオンレールズとかもそうですけど、レールを外れるともう闇が広がってるんですよね。
例えば一例で言うと、これイジェクトって言って、要はエキスポを自分でマニュアルで管理するってこともできるんですけど、
イジェクトするとものすごい量のライブラリーがバーっとこのpackage.jsonに広がったりとかして、これを管理するのはまず不可能だなっていう感じで、
イジェクトは多分しなくて一般的にはリアクトネイティブのまっさらなプロジェクトを作って、今あるコードをそっちに移動していくって形でエキスポから離れていくとかって感じにはなるんですけど、
とにかくある程度規模が大きくなってきて、いろいろ細かいカスタマイズとかしようっていう段階になると、かなりそこが自由度がなくなるというか部分があるんで、管理が大変になるとは思いますね。
あるあるという感じですね、そこは。
そうですよね、間違いない。便利な分のちょっとモロハの鶴木などの部分もあるっていう感じですよね。
さらにリアクトネイティブ自体も、やっぱりネイティブの深いところの機能とかAPIとか使おうとするとブリッジを書かないといけないみたいな話を聞いていて、そこでやっぱりリアクトネイティブじゃなくてモバイルのiOSとかオブジェクティブCとかSwiftとかKotlinとかを書いてそのブリッジを作らないといけないとかって聞いたんですけども、今はそういうことってどうなってるんですかね。
今も同じだと思いますね。やっぱりちょっと特殊なことをやろうとする場合はネイティブの実装は必要になるケースはあります。
だけどかなりのリアクトネイティブで使えるライブラリってすごいいっぱいコミュニティで開発されていて、例えばアナリティクスのサービスとかよくあるじゃないですか。ミックスパネルだったりとかセグメントだったりとかいろいろあると思うんですけど、そういうサードパーティーの会社でもだいたいSDKとしてリアクトネイティブとかは提供されているので、なのであんまりそこの心配をする必要がなくて、
36:03
プロダクトの仕様としてすごい凝ったことをやりたいってなった時にネイティブの実装必要になってくるかなっていうところはたまに出てくるかなと思います。
今井さんが今までブリッジ書いた経験とかありますか?
めちゃくちゃブリッジ書いてますね。Chompが結構既存のライブラリでできないことをいろいろやっていたので。
例えばカメラとかですか?
そうですね。カメラは特殊なことをいろいろやっていたので自前で実装していましたね。
あとはカメラのスティッカーとかそういうのもあるんですけど、スティッカーの管理とかもキャッシュを作ったりとかするってなった時に、
リアクトネイティブもちろんキャッシュみたいのはないので、自分でネイティブでLRUキャッシュみたいのを実装しているみたいな感じですね。
これIOSとAndroid両方?
そうですね。
最近たまにリアクトネイティブの求人とかでネイティブも書ける人募集みたいなのがあるのってそういうことなのかな?
そうだと思いますね。結局リアクトネイティブも、例えばアプリをリリースするってなった時にアプリのアイコンを設定するとか、
あるいはアップストアに置くとか、結局そこでネイティブの知識が必要になるんですよね。
だから全く知らない状態でやるとなると結構大変なのかなという気はします。
今まではリアクトネイティブの今までとリアクトネイティブの進化みたいな話をしたんですけど、これからのリアクトネイティブってどうなってくるのかなと思っていて、
代表的な質問の一つとして、フラッターってあるじゃないですか。
フラッターも多分人気になっているのかなと思うんですけど、それはどうなのかなっていうのがまず気になっています。
フラッターをほぼ触ったことがないので何とも言えないんですけども、結局すごい大事なのは組織的な課題とかプロダクト的な課題として何を解決したいかというのが結構大事だなと思っていて、
組織として、例えばスタートアップのケースですけど、スタートアップだとやっぱりプロダクトをスピード感を持って開発していきたいと、
早くイテレーションを回して、だけどエンジニアリングリソースがすごい限られていると、
フロントエンドのウェブをかける人はいるけれども、モバイルをやる人はそもそも採用がまだ全然できていないよとか、
そういうような課題があったときにリアクトネイティブっていうのがいいソリューションになるのかなと思っていて、
リアクトネイティブ、JavaScriptで書かれているから採用に当たっても比較的しやすいかなと思っていて、
フラッターはダートですよね、ダートのエンジニアってどれぐらいいるのかちょっとわからないんですけども、
そういうのを検討したときに技術選定の一つの軸として捉えられるといいのかなと思っていますね。
まあそうですよね、採用コストっていう部分ですよね、結局は。
もともとスタートアップで例えばですけど、iOSエンジニアがすでにいるとかだったら、普通に素直にiOSを使った方がいいですよね。
39:04
だからそこのときにリアクトネイティブを選ぶにはならないけど、
もしかしたら早くイテレーションを回したいっていうのの中にアプリをコードプッシュみたいな形でどんどんアップデートしていきたいとなったら、
もちろんリアクトネイティブはいいのかもしれない。
そういうことですよね、引き続きっていう感じですよね、
今までもネイティブとリアクトネイティブの採用コストの違いってすごく取り上げられることが多かったと思うけど、
できればフラッターを比較対象に上げたとしても同じことが言えるってことですよね。
そうですね。
なるほど、ということはバンクーバーみたいなそういう小さい町地帯かもしれないけど、
スタートアップが多い地域からするんだったらリアクトネイティブの方がやっぱり注目度は今後も高いのかな。
そうですね、やっぱりリアクト自体が人気すごい高いじゃないですか。
そうなんですよね、求人数見ても運営の差だから。
リアクトネイティブってやっぱりリアクトを書いてたらすごい取っ付きやすいので、横転がしやすい技術だと思うんですよ。
今後もある程度リアクトの人気が続いている限りはリアクトネイティブも採用されていくんじゃないかなと思ってますね。
リアクトっていう部分にフォーカスを置くんだったらリアクトアングラビューみたいないろんなフレームワークの論争はあったと思うけど、
日本もほぼほぼリアクト一挙になりましたしね、北米国においては。日本だとちょっとわかんないけど。
日本だと多分ビューが強いですね。ビュー並べるっていうのがなぜかデパクトみたいになっているっぽいですね。
まあまあ別にいいんだけどもですね。
じゃあ他の今後のリアクトネイティブのパフォーマンス的な部分とか、機能自体の部分ってどうなるんですか。
そうですね、リアクトネイティブが今のフェーズというかこれからのロードマップ的なところで言うと、
今そのパフォーマンスのところをですね、もうネイティブと同等以上にしていこうという企みがありますね。
プロジェクト自体は2019年ぐらいから始まっているんですけど、
FiberというUIフレームワークというか、リアクトネイティブに使われるフレームワークみたいなのを実装を進めようとしていて、
これ何かというと、さっきそのシャドースレッドっていうのがありますって話をしましたよね。
JSONでデータを渡してっていう話をしたと思うんですけど、そこのデータを渡すところっていうのが非同期で処理されるんですよ。
その非同期で処理されるっていうことで若干のディレイが発生するんですね。
そこがレンダリングのパフォーマンスに影響をしているっていう話があって、
このFiberは何をしているかっていうと、JSI、JavaScript Interfaceと呼ばれているんですけど、
リアクトがブラウザ上でDOM経由でC++を直接呼ぶように、
リアクトネイティブも直接C++のコードをJSONを介さずに呼ぼうっていう企みなんですよね。
そこを同期的にデータを受け渡ししてビューをレンダリングするっていうことで、
そうするとめちゃくちゃ早いですよねっていう目的で、そういう仕組みを搭載しようとやってますね。
42:04
あとはJSエンジンを、それまではiOSだとJSコアだと思うんですけど、
サファリとかで使われているJavaScriptのエンジンを使っているんですけど、
それをHelmetsっていう名前のJSの独自のエンジンを搭載していて、
これはリアクトネイティブに最適化されたJSエンジンなんですよ。
それすごい早いんですね。
これをiOSもAndroidも両方とも使うことで、さらにパフォーマンスを向上させるっていうようなことをやっていて、
今まだリアクトネイティブバージョン0.64だったかな?だったんですけど、
この辺のやつが実装が終われば、いずれ1.0が出るんじゃないかなというふうに思ってますね。
ついに待望のですね。
待望の。
なるほどね。
じゃあ結構レンダリング前の課題点克服が一時のテープを切ることになるかもしれないってことですよね。
そうですね。
個人的にはリアクトネイティブで作られていれば割とパフォーマンスはいいなって思うんですけど、
これ以上パフォーマンスが良くなるのはすごいなと思いました。
そうですね。今でもそんなにほとんど問題ない気がするんですけど。
そうですよね。なんかあまり遜色ないとは思いますけど。
iOSとかだと。だけど貪欲なんですかね。
ここまで来るとね、なんかネイティブを採用する意味って果たして何になるんだろうっていうちょっと疑問がふと思いかべやするんですけど。
そうですね。グッドクエスチョンですけど。
ネイティブを採用する理由っていうのは、ネイティブのそれぞれに特化した機能とかっていうのがあって、
そういうのってどんどんアップデートされていくので、やっぱりそういうのを使って開発した方が生産性が高いとかそういう話はあるので。
デバイス独自の機能をもっと深く使おうとするんだったらネイティブをっていう話ですよね。
そうですね。
なるほどな。結局そこの差はまだあるのか。
難しいですね、そこは。
ハイブリッドが流行しだしたときって結局その辺のカメラ機能とかが使えるようになるよう、
ウェブ開発でもねっていうのは訴え文句の一つがあったと思うんですけど、
そのレベルじゃなくやっぱりネイティブの方がまだそういう独自機能っていう部分だったら使えるものが多いってことですよね。
特にカメラ周りなんかは本当にアンドロイドなんかはものすごい実はいろんなことがネイティブだとできるんですけど、
今出回ってるリアクトネイティブのライブラリーだと最低限の機能しかないんで、
例えばGoogleの提供しているカメラアプリがあるんですけど、
ああいうものはリアクトネイティブでは実装できないので、
これやっぱネイティブだからできるっていうところですね。
さっきチョンプさんの方でブリッジ書かなくちゃいけなかったっていうのね、
さっき言ってましたけどそういうカメラ周りの話でしたっけあれって。
そうですね、カメラ周りは。
なるほどね、そういうイメージなのか。
逆に言えばネイティブの機能をゴリゴリ使わないアプリ、
コミュニティアプリとかSNSとかだったら全然リアクトネイティブで十分だってことですよね。
十分ですね。
もう一個メリットがあるとすると、リアクトネイティブ for web っていうのがありまして、
45:04
これはリアクトネイティブのコードを使ってwebが書けるっていうやつなんですよ。
なのでリアクトネイティブで普通にコードを書いたらそのままwebをそのままリリースできるっていう。
それは便利ですね。
Twitterのプログレッシブのアプリがそれで作られてるんじゃなかったでしょうか。
そうです、Twitterの新しいUIはリアクトネイティブ for web で作られてますね。
なるほどね、格好の的というかね、あんなシンプルなUIの実装やったらそれは良いでしょうって話でもするかもしれない。
思想が面白くて、もともとリアクトネイティブってwebの技術を使ってアプリを出せるのに、
そのフレームワークを使ってまたwebを作るっていう謎のことを知る。
間違いない、リアクトってなんだっけみたいな。
だからそれぐらいリアクトネイティブってもしかして完成されているフレームワークなのかもしれないですね。
Facebookだとリアクト360っていうのがあって、ARの機能をリアクトネイティブで作るっていうやつですね。
Facebookが作っているわけじゃなかったかもしれないです。別のスタートアップだったかもしれないですけど。
Facebookで作っているんだとリアクトVRですね。VRの機能をリアクトでかけるっていうやつで、
リアクトを知っていたら結構いろんなプラットフォームでいろんなものが作れるっていう世界があるっていうところですね。
それはFacebookの野望だと思うんですよね。
面白いですよね。リアクトVR出た時、バンクーバー実はVR界は結構有名で、
そうなんですね。
市場がすごく大きくて、VR市場はここ5年くらいで何倍だったかな、5,6倍くらいに伸びているっていうのがニュースになってたんですけど。
リアクトVRも出た時、コミュニティー界隈ですごい話題になってて、リアクトどこ目指してるんだろうなって。
数年後にはARとかができるじゃないですか。ARのグラスとかもFacebook開発してますけど、
その時に彼らはプラットフォームを握りたいと思うんですよね。
今はAppleとGoogleに握られてるけど、悔しい思いしてるけど、ARの分野で彼らFacebookがプラットフォームを持てれば、
これはかなり無敵ですよね。
そこでいくらでもやりたい放題できるっていうのが、多分戦略なんだと思います。
デベロッパーサイドから見ても、リアクトベースで開発できるんやったら、参入コストとしても結構低いでしょうしね。
間違いないです。
なるほどね。いや面白い。リアクトの野望がちょっとかやま見えるお話と。
さらにもっと言うと、今後のモバイルの開発ってどうなってくるかなって気になっていて、
さっきちらっと言っていただいたんですけど、純粋な開発、SwiftとかKotlinとかを使った開発は、
どんどんリアクトネイティブに置き換えられていくんじゃないかなと思っているんですけど、
そういうことはないってことですよね、さっき話したと。
そうですね、やっぱり固有のものがどんどん出てきているので、
ただ結構面白い流れみたいなのができていて、
48:00
このやっぱりリアクトのステート管理っていうかデータフローですよね、
フラックスから始まってリラックスとかってできていると思うんですけど、
とかあとは宣言的なUIのコンポーネントの書き方とかっていうのがすごくいいっていうことで、
ネイティブ側にもどんどんどんどんそれが広まっていて、
それを使った機能みたいなのが開発機能ですね。
開発機能がiOSにもAndroidにも最近提供されるようになったっていう、
逆輸入というか。
へー、勝手に敵対しているのかなっていう。
そうですね、お互いのいいところを真似ていこうっていうのがあって。
素晴らしいことですよね、でも。
はい、だからそのネイティブ開発って言っても、
結構その今のリアクトの開発というか、
ウェブの開発に近いものになる可能性はあるかなと思いますね。
それあれですか、JSX的な感じでビューをかけるとかっていうのは。
そうですね、SwiftUIとか、
ジェットパックコンポーズっていうのがAndroidが最近出たんですけど、
ほんとついたぶん1ヶ月ぐらいですかね。
これはJSX的ではないんですけど、
宣言的にこのコンポーネントがこうなってこうなってみたいのをつらつら書けて、
リアクトとかを書いている人には見慣れた感じで書けるのかなという、
すごく似た文脈なんですよ。
ウェブからそういうネイティブにいいアイデアがいくっていうのは結構あると思いますよね。
リアクティブプログラミングの文脈もRXJSから始まって、
それがRXJava、RXSwiftとかに来たので、
そういうのは結構あるんですよね。
ネイティブの開発は結構変わってきている気がします。
そうですよね、さっき話したコードプッシュとかまさにウェブっぽいですし、
そんな感じですかね、基本的にリアクトのネイティブ自体に関しては。
さらにちょっと、
セナさんとかフロックで留学とか就職とかを専門にやっているので、
リアクトネイティブの求人の話とか、その辺を聞いてみたいんですけども。
これね、でもそうなんですよ。
フロックというか、僕らのところに話とか相談が来るのね。
大島さんなんかもそうかもしれないけど。
やっぱり結構ガリガリ日本でエンジニアやってましたとかいう人ももちろん多いし、
今からこの業界目指したいんですけどということも一定数はいるしっていう状況で。
よくね、結構、
日本でアンドロイドエンジニアずっとやってましたっていうね、
例えば人がうちの都をたたいて、
海外だとリアクトネイティブの求人めっちゃ多いっぽいですけど、
バンクーバーとか西海岸の方なんですけど、
リアクトネイティブの求人すごく多いから、僕もそっちの方ね、
なんかちょっと移るべきなのかなとか。
あとはリアクトネイティブで今までずっと書いてた人は、
今後求人の推移ってどうなっていくと思います?とかって結構質問が来るんですよ。
ただまあね、僕もちょっと別にそのプロフェッショナルってわけじゃないから、
今多いから今も今後も多いんじゃね?とか、
51:00
そんなすごいフワッとした回答しかできてないんで。
実際まあね、現場でやはり活動されている今井さんにちょっと聞いてみたい部分としては、
求人の推移としてっていうので、
今後ね、周りの人たち含めて増えていくのか減っていくのかって、
なんとなくのイメージとかって沸きます?
いやーわかんないですね。
わかんないですね。
なんか、とはいえ結構テック企業はこの技術使ってるし、
あとはリアクトネイティブ、印象ですけど、
結構ヨーロッパでリアクトネイティブをやってる人が多くて、
多いなという感じですね。
例えばリアクトネイティブの有名なカンファレンスとかもヨーロッパで開催されてたりするんですよね。
ソフトウェアマンションっていう会社があるんですけど、
私たちそこはその、
受託的なことをやってる会社だと思うんですけど、
それがヨーロッパにあって、
すごいリアクトネイティブの需要がやっぱあるから、
すごいそこにフォーカスして開発してるので、
求人っていう意味だと多いんじゃないかなというふうには気はしてますね。
そういうことですよね。
だから減る要因が今現時点で思い浮かぶかって言ったら思い浮かばないでしょうし。
あんまないですね。
ですよね。さっき話にあったレンダリング速度だったりとか、
パフォーマンスの改善が今後見られるのであれば、
むしろそれこそ増える意味はあったとしても、
減る理由は探そうが難しいと思うので。
なんとこないですね。
ただあれですよね。
多分さっきの話だと、
Airbnbとか大きい会社っていうのは、
モバイルのエンジニアをそもそも採用する力があるので、
それよりはスタートアップで、
ウェブでリアクトを作っているところが、
アプリもリアクトネイティブを作りたいよ、
みたいな案件が多いってことですよね、多分。
そうですね。
バンクーバーに限って、他のとこもそうなんだろうけど、
本当にその動きが顕著で、
こっちなんてもうスタートアップとりあえずバンバン作って、
アメリカ先生に、どっかの会社に買収されたらゴールみたいな、
そういう流れがすごく盛んだから、
スタートアップ段階でいきなりネイティブからっていうよりも、
やっぱりそういうハイブリッドだったりとか、
ガバネイティブって言うんですか、
そっちも含めてリアクトネイティブ採用っていうのが、
もう本当にテンプレ化してますもんね。
あと、すなさんと話してて、
すごいこれ気になったのが、
例えばなんですけど、
すなさんのところのフロックの方とかで、
最初のキャリアとして、
最初のエンジニアのキャリアとして、
リアクトネイティブのエンジニアになるっていうのは、
どうなんだろうっていうのがあります。
これはぜひお伺いしてみたいですね。
業界今から目指しますって人多いですよね。
もちろんウェブ業界もエンジニア業界っていうか、
エンジニアになりたいみたいな人ですよ。
その時に海外の求人でリアクトネイティブよく見るからとか、
そんなレベルかも分かりませんが、
要するに自分がどういうエンジニアになりたいかっていう方針、
決まってない人って結構多くて、
その中でやっぱり流行ってるし、
自分がモバイルアプリを今後作っていきたいと思ってるし、
であればリアクトネイティブを最初に勉強してみようかなっていう、
要するに非ネイティブが最初にリアクトネイティブを触ってみるっていうのが、
54:02
非エンジニアがリアクトネイティブを最初の勉強材料として採用するっていうのって、
どうなんだろうなってちょっと僕個人としては思ってはいるんですけど、
学習コストという面で見て、
果たしてそれは効率のいい話なのかみたいなところが、
ちょっと意見は聞いてみたいなと思いつつなんですが。
エンジニアの機嫌として、
結果的にそうなるのはいいのかなと思うんですけど、
勉強のためにリアクトネイティブやるってやると、
ちょっと偏ってしまう感じはしますね。
JavaScriptの知識とかHTMLの知識とか、
リアクトネイティブはそのHTMLではないので、
ただCSSとか使うわけでもないので。
中途半端なCSSみたいな感じじゃないですか?
そうですね。違うんですよね。
だから微妙な知識になってしまうので、
リアクトネイティブやるよりはリアクトをやって、
リアクトをやりながらJSだったりとか、
HTML、CSSあるいはWebがどうやって開発されるのかっていう、
そっちをやった方がいいのかなと思いますね。
例えばリアクトネイティブやってたら、
クロスオリジンとか多分やらないんですよね。
けどWebやってたらクロスオリジンとかすごい重要じゃないですか。
それは実はネイティブだとちょっとやるんですよね。
アクセスコントロールって重要なんで。
だけどリアクトネイティブだとほぼやらないので、
そういう重要なところが欠けた状態で、
エンジニアやってますっていうのはちょっと危ないのかなと思ってますね。
リアクトやるのがいいじゃないですか。
多分アメリカのブートキャンプだと多くの場合は、
Webエンジニアのブートキャンプは、
おそらくJavaScript、リアクトネイティブっていうのを選んでますね。
それをやって、そこからノードJSとかやったりして、
フルスタックって名乗っている人は多いと思います。
ですよね。
バンクーバーのスタートアップじゃなかったらブートキャンプも、
実はサンフランシスコがそっちの方をやっぱり参考にしているところが相当多くて、
もともとサンフランシスコのブートキャンプってやっぱり高いじゃないですか。
数百万とかやっぱりしたりするんで、
そういう人たちがバンクーバーのスタートアップに
頭叩くっていうのも実は結構いたりして、
なので結構その辺のカリキュアムとかっていうのに
似たり寄ったりの部分が実は多かったりもするんですが、
やっぱり同じですもんね。
リアクトベースで勉強していきながら、
ゆくゆく先最後のタスク、カリキュアムのところで
リアクトネイティブを少し触ってみたいな感じだから、
やっぱりリアクト最初に触って、
JavaScript全般バニラで書きつつ、
ちょっと慣れてきたらリアクト勉強していってっていう、
非常にシンプルなテンプレートの路線なぞるのが
いいよねっていうことですよね。
だと思います。
なるほどね。この辺難しいですよね。
断定はできないけど、リアクトからやったほうがいいんじゃない?
みたいなとこはみんなちょっと思ってるというところですね。
確かに僕もなんだろう、やっぱフロントエンドって
やろうと思えば簡単なんですけど、
やっぱり大事なことって深いところを知るところ?
57:02
例えばHTTPのプロトコルを知るとか、
リクエストの404はなんだかとか、
そういうところを知るところが結構大事なんですけど、
それを抜けてやっていく人も結構いるから、
そんな感じになりかねないなとは確かに思うところはありましたね。
だから今井さんみたいに本当にAndroidの開発をやられていて、
リアクトネイティブとかに来るとか、
Webをやってリアクトネイティブに来るとかのほうが
もしかしたらいいかもしれないですね。
そういうことですよね。
じゃあ何か他、今井さんのほうからありますか?
宣伝していいんですか?これ宣伝。
もちろんもちろん。
宣伝で、自分もポッドキャストやってまして、
ゆうやさんにも出ていただいているんですけど、
Today I Learnedというポッドキャストで、
これはもう一人メインエリアでエンジニアをしている、
ソフトウェアエンジニアをしている川鍋さんという人と一緒にやっているポッドキャストで、
こういうテック的な話ですよねとかを話したりとか、
あと人に来てもらって話すとか、
そういうのをやっているので、よかったら聞いてください。
はい、宣伝です。
実はもうほぼほぼ全部聞きました。
ありがとうございます。
Today I Learnedはめちゃくちゃ深いところまで説明したりとか、
考えたりとかして、
すごい聞いててね、すごい考えさせられるようなポッドキャストで、
またゲストの質が高いですよね。
豪華ですよね、まじで。
あれは今井さんの人徳ですか?
いろいろコネとかですね。
すごいな。
僕が好きなエピソードがあって、
それはコードレビューで、
10箱の隅を続くのをやめようというエピソードなんですけども、
例えばプルリクエストとかを出して、
そこのプルリクエストに余計なスペースが入ったりとか、
開業が1個入ったりしてて、
それに対して直してくださいとかっていうのをやめようねみたいな話なんですけど、
結構僕細かくその辺やってたので、
これを聞いてね、ニットピッキングって言うんですよね。
そういう言葉も知らなかったんですけど、
そういうのやめようって回とかすごいおすすめです。
僕一番最近のやつですね、
スミさんでしたっけ?
コミュニティ運営で僕もフログっていうコミュニティ運営してる人の立場でも聞くんで、
ああいう前線とか界隈の有名な方が、
どういったコミュニティを運営していて、
どういう失敗があって、
どういう気持ちで運営してるのかとか、
そういう話が聞けるのがすごく楽しいんで、
ぜひそういう人今後も呼んでください。
わかりました。
探してみます。
お願いします。
はい。
そうですね、お互い北米圏でポッドキャストやっている仲間というか感じなので、
盛り上げていきましょう。
そして今日はありがとうございました。
長い間。
ありがとうございました。
ありがとうございます。
とっても楽しかったです。
もう1回ぐらい呼んでいろいろ聞きたいですね。
ね、間違いない。
もう出てこないで。
いやいやいや、
多分メルカリの話とか相当面白いんじゃないかなとか。
そうかもしれないですね。
突っ込んで話を聞くと、
多分1時間とか2時間じゃ足りないんですよ。
ちょっと飲みに行きましょうよ、どっかで。
それいいですね。
今度ね、コロナが明けたらぜひね。
明けたらね。
ベイゲリアで飲みましょう。
そうですね。
はい。
1:00:00
はい、じゃあ今日はありがとうございました。
ありがとうございました。
ありがとうございます。
01:00:04

コメント

スクロール