Frontend Conference Fukuoka 2018参加

12 月 8 日に LINE Fukuoka で開催されていたフロントエンドカンファレンス福岡に参加しました。 大阪から新幹線を利用しての日帰り参加でした。

https://frontend-conf.fukuoka.jp

セッション感想

Web 開発者のためのクロスプラットフォームアプリ開発

多く存在するクロスプラットフォームアプリケーションを支えるフレームワーク等の紹介でした。

Web開発者のためのクロスプラットフォームアプリ開発

近年、React Native、Ionic、NativeScriptなどクロスプラットフォームアプリ開発のためのフレームワークがでてきました。 これらはHTML/CSS/JavaScriptなどのWebの技術でAndroidやiOS、またはデスクトップやWebに対応したアプリが作れます。 ...

Ionic によるCapacitorは初耳でした。 ネイティブと Web のいいところどりをやってくれそうです。 周辺技術の動向を広く知れるセッションでした。

Apollo と TypeScript を使った型安全なクライアントサイド GraphQL 開発

内容はタイトルのままです。途中で Apollo を使用した Angular プロジェクトのコーディングが有りました。

demo repo: https://github.com/lacolaco/apollo-angular-codegen-demo

TS のコードを生成する仕組みは主に 2 つ有り、有ったものを選ぶ事になりそうです。

  • Apollo CLI
    • コード中の graphql クエリを検索し、レスポンスに対応する型定義を自動的に作成
  • GraphQL Code Generation
    • クエリだけを書いたファイルを用意すると、型付けされたクライアントコードが生成される

用意するための手順が煩雑ですが、エコシステムの充実具合が思っている以上に高かったです。 クエリの自動キャッシュ機能などのも存在するので、大規模な開発を行う上では良い選択肢になりそうです。

Ready for React v17

これまで・これから実装される特徴的な機能についての紹介でした。

Function Component をより良く使うための React.memo Hooks や、 17 で実装される予定の Suspense 等が紹介されました。 非同期への対応が進むと、要求が多い業務アプリケーションが非常に書きやすくなるので、17 のリリースが非常に楽しみです。

このようにアップデートが活発な React ですが、非推奨の機能を使用していることに気づくために、React.StrictMode が用意されており、継続的に改善することも用意らしいです。

これからの Web アプリケーションに求められるアクセシビリティの設計と実装

ディーゼロ・ヌーラボさんの対談形式のアクセシビリティに関するセッションでした。 自分は途中から参加しました。

アクセシビリティは考えれば終りが見えない分野なので、以下のターゲットに対して重点的に対応しているようです。 日本で一番利用者が多い PC Talker は、対応が無限に難しいので現時点では対応していないようです。

  • 利用者が全盲
  • OS が Windows
  • OSS のNVDAを利用している

PC Talker 触ったことも有り、しんどいなこれという感想だったんですが、ヌーラボでも合理的な妥協点を決めていると安心しました。職場では Apple 製品に搭載される VoiceOver で使えるようにという指標を使用したことも有ったので、似たような感じだなと思います。

2018 年における CMS

WordPress を Gatsby に代表される静的サイトジェネレーターに置き換えることによって、運用保守を楽にしたという話です。

管理画面・表示部分を分けることで、チームに合った技術選択等を行うことが可能になります。 ここでは、記事の管理を行うサービスとして Contentful strapi WordPress Shopify esa.io を紹介していました。 WordPress も REST-API を使用することによって、記事管理の機能だけを使うことが出来ます。

ただ AB テストに使用するような、GTM 等で挿入されるコードが動作しない場合も多いので、苦労も多いそうです。

The “Hooks” in Front-end

React で現在試験的に公開されている Hooks 機能の紹介です。

仕組みを作る仕組みを、作る仕組みを作る

Google のえーじさんによる、未来の Web の話でした。 スライドは現時点で公開されていないようです。

ビジネス要件を満たすアプリケーションという仕組みを作る立場のエンジニア、そのアプリケーションにライブラリという仕組みを提供するエンジニア、そのライブラリに API という仕組みを提供するエンジニア、その API をベンダー間で協力しながらより良いものを作っていくという大きな仕組みが有るという話は非常に興味深かったです。

具体的には、仕様の策定に Github を使用していることや、ベンダープレフィックスに変わる、機能を試験的に提供するための仕組みを整備していたりと、その活動は多岐に渡るようです。

Web ページの高速化という観点では、WebPackage という仕組みで、署名されたコンテンツの再配布・Web ページのコンテンツを 1 つのファイルにパッケージ化を行う事ができるようにしているらしいです。その機能をブラウザに実装することによって、Google が提供している AMP をより一般的に実装することが出来るようになります。また、WeChat などが提供している MiniApp のような機能にも対応できるのではないかという話もあるらしいです。

Web は情報を得るためのプラットフォームではなく、アプリケーションを構築するためのプラットフォームへと進化しているという事がよくわかりました。最後にこんな言葉が紹介されていました。

web is the only platform no one owns

Web の 1 開発者としても、これが長く持続する事を望んでいます。

おわり

懇親会チケットは、募集開始後 2 時間で売り切れるという驚異的な争奪戦で、その枠に入ることは残念ながら出来ませんでした。

2 時間後にはコレ

せっかく大阪から参加したので、懇親会も行きたかったですが… 全体の枠が 100 という限られた状態で、本編のみの参加出来ただけでも喜ぶべきっぽいですが。

近年、PHP Conference FukuokaScala Fukuokaなども開催されており、福岡のエンジニアが盛り上がってきているのを身近に感じられるようになりました。 福岡でのフロントエンドの大きなイベントも、調べた限りではこれが初かなと思います。

自分も福岡で登壇することも増えてきているので、一緒に盛り上げて行けたらなぁと思っています。