2018 年 6 月の React Native 事情
事実と思われる情報を時系列で並べる。足りないものがあるかもしれない。
6/2 に噂を Ben Sandofsky が tweet 。
There’s a rumor React Native was abandoned in the main Facebook app. Anyone heard similar/different?
— Ben Sandofsky (@sandofsky) 2018年6月1日
このひとは Halide という iOS で提供されているカメラアプリの開発者。これは純粋に噂が真実かどうか確かめたいという発言のように見える。
https://itunes.apple.com/jp/app/halide-raw%E6%92%AE%E5%BD%B1%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E6%89%8B%E5%8B%95%E3%82%AB%E3%83%A1%E3%83%A9/id885697368?mt=8
https://twitter.com/halidecamera
Halide は 99% Swift で書かれているらしい。
Halide 99% Swift. Started on Swift 2.0. Expect a post at https://t.co/fQsYHHyHtp
— Ben Sandofsky (@sandofsky) 2017年5月30日
翌日 6/3 にこれを Sophie Alpert が否定した。 2018 年の F8 で発表した機能の実装に使われているとのこと。 Facebook の React.js マネージャーだそうだ。
This is not true.
— Sophie Alpert (@sophiebits) 2018年6月3日
Blood Donations, Crisis Response, Privacy Shortcuts, Access Your Information, Wellness Checks are recent projects in the main app mentioned in F8 keynote that use RN. (The whole Oculus Go mobile app as well.) More to come. RN hasn’t been used yet in News Feed but that may change.
— Sophie Alpert (@sophiebits) 2018年6月3日
と言っている間に Microsoft が Office 365 を react-native-windows を使って書き直したという情報が Sean Thomas Larkin から出る。 Sean は Microsoft のマネージャーで Edge と Edge Dev Tools に携わっているらしい。 Webpack core team でもある。
(Ive never been able to say this yet)
— Sean Thomas Larkin (@TheLarkInn) 2018年6月13日
🙋Well Actually!🙋
All of Office 365 is (almost finished) being completely rewritten in this little scripting language called #JavaScript.
And Skype
And Microsoft Teams
And @Code
And all of @MSEdgeDev Debug Protocol (instead of C++)
nbd https://t.co/WFahDhap6K
Tweet だけだと JavaScript で書き直したことしかわからないが、 Reddit で Sean が react-native-windows だと明言。
その後 6/14 に Sophie Alpert が公式ブログで React Native の大幅な再設計をしていることを発表。
6/21 に AirBnB が React Native をやめると宣言。その理由とどうやってやめていくか、今後のアーキテクチャーについて書いている。
https://medium.com/airbnb-engineering/react-native-at-airbnb-f95aa460be1c
https://medium.com/airbnb-engineering/react-native-at-airbnb-the-technology-dafd0b43838
https://medium.com/airbnb-engineering/building-a-cross-platform-mobile-team-3e1837b40a88
https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a
https://medium.com/airbnb-engineering/whats-next-for-mobile-at-airbnb-5e71618576ab
AirBnB は react-native-map や Lottie などで React Native のエコシステムを推進していた。
https://github.com/react-community/react-native-maps
https://airbnb.design/lottie/
@hotchemi さん、 @andoshin11 さんが日本語訳してくれているものがある。訳は丁寧で正確だ。 6/21 01:50 時点で 4 つ目まで翻訳していただいている。
https://hotchemi.hateblo.jp/entry/2018/06/20/192533
http://studio-andy.hatenablog.com/entry/react-native-at-airbnb-the-technology
https://hotchemi.hateblo.jp/entry/2018/06/20/234054
http://studio-andy.hatenablog.com/entry/sunsetting-react-native
翻訳作業 repo を React Native Japan の organization に移管していただいた。
ポエム
発言者の属性
誰かの発言はその人間の属性まで含めて理解したほうがよい。「この文章を書いた際の著者の気持ちを述べよ」。
この記事を書いている人間は元 CureApp という企業で React Native による開発を推進していた。今の CureApp アーキテクチャーがどうなってるかは知らん。現 React Native Japan の運営スタッフ。今は Farmnote という会社で Vue.js を書いた後、自分以外の技術者が React Native を触る際のサポートをしている。
事実とそれ以外をわける
事実は情報、それ以外はノイズ。これもノイズ。
目的に合致した道具を使え
今のあなたのスキルセットは関係ない。ターゲットに対して最大限の価値を提供できる道具立てを選択しろ。
技術選定の基準
先達が書いてくれているので参考にしながら事実を収集して自分の環境を見比べてやっていけばよい。
https://speakerdeck.com/twada/understanding-the-spiral-of-technologies
https://logmi.jp/63330
表現力は実際に使われている事例をみればいい。
https://facebook.github.io/react-native/showcase.html
https://github.com/react-native-jp/react-native-apps-jp
お気持ち
AirBnB の記事を読んだ直後のお気持ちです。 React Native Japan の Slack team #random で発言しています。
原文はこちらから。