フロントエンドエキスパートチームの小林(@koba04)です。
2/1にReact.js meetup #5をサイボウズで開催しました。 当日は雪が降っていましたが、会場がいっぱいになるほどたくさんの人に集まって頂きましてありがとうございました。
https://reactjs-meetup.connpass.com/event/76375/
Contributing React! @koba04
最初に、まず私から「Contributing to React!」というタイトルで、Reactにコントリビュートする方法を紹介しました。
Reactにコントリビュートしようと思っても、コードが複雑でどうしていいのかわからないということもあると思います。 そのため、コントリビュートするための第一歩に必要な情報について紹介しました。
Reactでは、good first issue
というラベル以外にも、タスクの難易度に対するDifficulty: medium
のようなラベルもあったり、誰かが取り組んでいるgood first issue
はgood first issue(taken)
に変わったりと、コントリビュートしやすくするための取り組みが行われています。
また、コードに対するPull Requestを送る以外にも、ドキュメントに対する修正もコントリビュートの1つです。 英語で書く必要はありますが、足りないと感じたドキュメントをPull Requestすることもできます。
他にも、ドキュメントの翻訳を行うという形でのコントリビュートも可能です。 Reactのサイトでは、YarnやJestと同様にCrowdinを使った翻訳の仕組みがあることを紹介しました。
コードに対してコントリビュートしたいと思っても、Reactの複雑なコードベースをすぐに把握するのは難しいと思います。 Reactのサイトには、コントリビュートする人に対するドキュメントがあります。
- How to Contribute
- Codebase Overview
- Impementation Notes
- Design Principles
- Behind the Scenes: Improving the Repository Infrastructure
これらのドキュメントを読んで、まずはgood first issue
をやってみたり、不親切な警告メッセージがあればそれを修正したり、新しく警告を追加することはコードにコントリビュートする第一歩になります。
また別のトピックとして、v17で廃止されるライフサイクルメソッドと新しいContext APIについても、大きな変更であるため簡単に紹介しました。
Static sites with create-react-app and Junctions @james_k_nelson
React ArmonyというReactを学ぶためのサイトを作っていたり、Junctionsというルーティングライブラリを作成されている@james_k_nelsonさんの発表は、
create-react-app
から作成したアプリをJunctionsを使い、15分でブログにする内容でした。
ライブコーディング中心の内容で、個人的にライブコーディング見るのが好きなのでとても楽しめました。
Panel Discussion
というメンバーでパネルディスカッションしました。 多くの人がReactを使うときに悩む、サードパーティライブラリの選定やアニメーション、CSSについて、Redux、ルーティングについて話しました。 他にも、Reactを教えるときに難しいところやドメインロジックの置き場についても触れました。
実際にプロダクトを開発するときに、どのように考えてどうしているのかという話がたくさん聞けて、とても勉強になりました。
LT
10 min ReactDOM Codebase Overview @malloc007
Reactのコードを読んでみたという内容のLTでした。 まぁ複雑ですよね...。
Redux のディレクトリ構成を考える @sottar_
Reduxを使ったアプリケーションのディレクトリ構造についてのLTでした。 Container ComponentとPresentational Componentの使いわけや、Action CreatorやReducerなどをどのように配置するのかというパターンについてのお話でした。 actionsとかreducersのような単位で分けることをRails-styleっていうんですね。
中大規模開発をReactで行う現場から伝えたいこと @mki_skt
規模の大きなフロントエンド開発の難しいところやそれをどのように解決していくのかというLTでした。 テストの必要性や共通Componentの管理方法、ライブラリのバージョン更新についてなど、放置しておくと破綻してしまう部分についての話で、Twitterでもツライという声で溢れていました。
まとめ
今回は天候を考慮して懇親会を事前に中止したのもあって、参加者同士で話す機会が取れませんでしたが、その分パネルディスカッションを長めにしたので参考になることが少しでもあれば嬉しいです。 次回に開催する際の参考のためにも、感想などあれば共有してもらえると嬉しいです。
サイボウズでは、フロントエンドに専門的に取り組みたいエンジニアも募集しています。 ご興味のある方は是非ご連絡ください。
また、関東以外でも積極的に採用を行っていますのでよろしくお願いします!