Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2021/08/10] Frontend Night #157

Closed
jjenko opened this issue Aug 3, 2021 · 5 comments
Closed

[2021/08/10] Frontend Night #157

jjenko opened this issue Aug 3, 2021 · 5 comments

Comments

@jjenko
Copy link

jjenko commented Aug 3, 2021

Policy

  • 資料の準備をがんばらない
  • 参加・途中退席は自由
  • スキップしない

話したい・聞きたいネタを書いてく ✏️

ハッシュタグ #frontend_night

Prev: #155

Created from #65 by issue-creator

@kobayang
Copy link

メルカリShops の技術スタックと、その選定理由

  • GraphQL / NestJS

Microservices アーキテクチャを採用する場合、Microservices へのアクセスをシンプルにするためにも BFF (Backend for Frontend) のレイヤーは必須です。 メルカリ Shops では、GraphQL をBFFのインターフェイスとし、NestJS フレームワークを採用しました。多くの依存したコンポーネントにアクセスするために、NestJS の持つ DI(Dependency Injection) のアプローチは相性が良いからです。

また、GraphQL のスキーマ管理は悩ましい課題ですが、NestJS の Code First アプローチはコードに集中することができる良い手法でした。これによってエンジニアはスキーマとコードを同期する必要がなくなり、コードだけを管理すればよくなりました。

  • Next.js

メルカリShopsのフロントエンドは全てWebベースになっています。これは、メルカリという既存のアプリに組み込む手段として、独立した環境でシステムを柔軟に構築する手段でもありました。

Webのフレームワークとして選定したのは next.js です。Webである以上ページ表示の速度は何よりも優先されます。CSR, SSR, ISR などの機構を持ち、CDN との構成とも相性が良い next.js はベストな選択でした。

@izumin5210
Copy link

HookViewController.md

React Component の実装が持つ責務を Views / Hooks / Controllers の3レイヤに分けることで、よりテスタブル(Jest, Storybook が書きやすく)になる。
さらに、開発者の責務も分けやすく(UX を見る人・ステートマシンを見る人)なる … という主張

@izumin5210
Copy link

React コンポーネントの書き方をチームで統一する

React component をどう書くか選手権
この記事が扱う「書き方」は「arrow で書くか関数定義で書くか」とか「型を React.(V)FC で当てるか、その他か」みたいな話
MECE になるようにリストアップ・検討してて偉い

自分は返り値ミスが怖くて React.FC 使い続けてたんだけど、それは心配ないって書かれてるのでなるほどーっておもった

@kobayang
Copy link

TypeScript * GraphQLのバックエンド設計プラクティス

依存性の注入を採用する

context に connection が渡ってしまう問題を InversityJS を使って解決している部分がエレガントに感じた。

@kobayang
Copy link

kobayang commented Aug 10, 2021

https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/function-component-definition.md
react/function-component-definition で react component の定義の lint ができる

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants