RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

フロントエンド関連の最新ニュース・記事をラジオ感覚で聞く、フロントエンドTechCafe【まとめ】

f:id:tech-rakus:20220309184700p:plain

技術広報のyayawowoです。

突然ですが、変化の多いフロントエンド関連の情報を日頃どのようにインプットされておりますでしょうか?

SNSやWeb記事、最近ではPodcastという方もいると思います。
しかしながら「時間に余裕がない!」という方も多くいらっしゃるはずです。

そんな方のために、ラクスでは
フロントエンド関連の最新ニュースや記事を定期的にピックアップし、エンジニア同士が楽しみながら学習するためのコミュニティ『フロントエンドTechCafe』
という憩いの場を定期的にご提供しております。
本記事では、2020年~2021年に開催した「フロントエンドTechCafe」のイベント内容をまとめております!

  • フロントエンド領域の知見を高めたい方
  • フロントエンドエンジニアを目指している方
  • フロントエンドTechCafeにご興味ある方

などなど、是非ご参考いただけますと幸いです。

【目次】

フロントエンドTechCafeとは

「”フロントエンド” TechCafe」は、JavaScriptなどフロントエンド関連の技術要素を軸としてエンジニアと技術が交差する憩いの場(カフェ)になることを目指しています。

主に、JavaScriptに関して学習中の初級エンジニア~シニアエンジニアを対象としておりますが、

  • エンジニア同士の学びの場をつくり、エキスパートまでの自己成長を支援
  • 学びの場を一緒に支援して頂けるエキスパート以上の方の参加も大歓迎
  • 私たちと皆さまが共に成長できる場としたい

という思いで開催をしております!
なお、ラクスで採用している技術要素の関係から、JavaScriptやTypeScriptなどの話題が多くなる可能性がございます。
そちらはご承知おきくださいませ。

2020年度開催

フロントエンドのニュースや記事を紹介して語り合う会@TechCafe(Vue,TS成分多め)

rakus.connpass.com

初開催したのは、2020/7/31です。
初回の議題は以下のような内容でした。

< 導入トピック >
・2020年の11の必見のフロントエンドトレンド
参考にした記事から注目ポイントを厳選し、今後のトレンドについて意見交換をしました。

< Vue.js関連情報 >
◆ Vue3 RCリリース
新機能であるComposition APITeleportFragmentsEmits Component Optionについて紹介。
また、Vue Composition APIのメリット/デメリットをまとめた記事を見た上で、コンポ―ネント間でのロジックの断片化などの課題感を実際の現場状況と踏まえ協議しました。

< TypeScript関連情報 >

・ TypeScript4.0で導入された新機能
・ TypeScript、JavaScritpの誕生背景や歴史
・ TypeScriptのenumについての評価
などなど

< ES関連情報 >
ES2020リリース

・仕様一覧(Finished Proposals
JavaScript: Latest Stage-4 features
についてご紹介しました。
イベント当時にStage4まで進んでいる提案リストもあるようです。

< サーバーサイド関連情報 >
DenoとNodeのパフォーマンス比較記事を紹介。

JavaScript・フロントエンド全般 >
残り時間を利用し、JavaScript・フロントエンド全般の気になった記事を基に議論しました。
JavaScriptライブラリを読むコツや、DOMとうまく付き合う方法などがありました。

議題内容の詳細(記事リンク)などは、以下ShowNoteをご確認ください! hackmd.io

「Vue.js 3.0」を語るフロントエンドTechCafe

rakus.connpass.com

2020/11/11に、「Vue3」をテーマに2回目のフロントエンドTechCafeを開催し、
リリースノートvue3マイグレーションガイド: イントロダクションRFCを見ながら
以下議題について当社出演者が語り合いました。

  • Vue3新機能の紹介と現場エンジニアの声
  • Vue2との比較
  • Vue2 -> Vue3移行時に気になるポイント

参加者も300名近くなり、

「CompositionAPIは嬉しい」
「プロダクトが大規模化する中でコードの分割をするも、2系のmixinでは難点が多そう・・・」
「UnitTestも書きやすくなりそう」
「Vue3への移行は?」

などが話題となり、大変盛り上がりのあるイベントとなりました。

「2020年の振り返りイチオシ情報」を語るフロントエンドTechCafe

rakus.connpass.com

第3回目は2021/2/10に開催!
タイトルの通り、2020年のフロントエンド関連の様々なニュースのうち、出演者イチオシのものを選んで語り合った会です。

< 印象に残った・興味深いトピックス >

◆ Vue3リリース
リリースノートマイグレーションガイドなどでリリース内容の確認をしました。

Chromium edge のリリース
www.publickey1.jp
旧edgeとの違いや、サポート終了の話で盛り上がりました。

◆ webpack5リリース
webpack.js.org

webpack(=モジュールバンドラー)とは?
webpack5変更点とは?
といった観点で記事をピックアップし、語りました。

◆ TypeScript4.0 のリリース
devblogs.microsoft.com
追加機能をまとめたQiitaの記事を見ながら、どのように導入ができそうか話しました。
今回のアップデートは、安全性や利便性を高める比較的安定した機能追加が多かったとこのことです。
弊社メンバーは、「機能よりもVSCodeの構文ハイライトの高速化が気になった」とのことでした。

◆ Vuex4リリース
github.com
Vue4の基本的な使い方は前バージョンと変わらないが、初期化が大きく変わっているとのこと。
リリース内容だけでなく、その他のエコシステムやUIライブラリなどもピックアップしております!

◆ Babel 7.9.0リリース
7.9.0 Released: Smaller preset-env output, Typescript 3.8 support and a new JSX transform · Babel
8.0に向けた準備。
JSX変換の最適化やパンドルサイズの縮小が追加されました!

< ツール・ライブラリ > ◆ Vite
github.com
Viteは、ノーバンドルなビルドツールです。
ビルドが遅いという話がメンバーからよく話に上がるVue CLIと比べてると、開発は楽になりそうであると話題になりました。

◆ core-jsのメンテナンス再開
core-jsとは、babelのpolyfill内部で使われているモジュール集であり、
ブラウザによっては実装されていないPromiseやArray系の関数を使えるようにするものです。

ここでメンテナンスを取り巻く状況についてをご紹介しました。
5年間、1人のメンテナによってメンテナンスがされ続けていたが、交通事故を起こしてしまい開発が停止。
メンテナが2020/10に復帰し、開発が再開されたのことです。

メンバーからも、

・多くの人が利用していると思うが開発継続には人員や収益などのリソースが必要
・開発が終了するリスクを考えると、自身も何かしらの形で利用しているOSSへ貢献していきたいと思わされた

のような意見がありました。

◆ StateOfJS2020(10000人のエンジニアによる投票結果)
2020.stateofjs.com
それぞれの分野のランキングの推移は…?

◆ Denoの紹介やNodeとの違いなど
Denoは、Node.jasの作者であるRyan Dahlが新たに作ったJavaScriptの実行環境です。
deno.land

本時間では、Node.jsの問題点やDenoの特徴について、参加者と話をしました。

その他トピックとして、

  • ES2020とES2021
  • Moment.js の非推奨化
  • ReactとVueとSvelteで同じアプリを開発してみて比較した記事

などをピックアップし、限られた時間の中で参加者と一緒に楽しむことができました。

議題内容の詳細(記事リンク)などは、以下ShowNoteをご確認ください! hackmd.io

「フロントエンド開発の便利ツール・設定・プラグインなど」を語るフロントエンドTechCafe

rakus.connpass.com

2021/3/10に開催した本イベントは、参加申込が450名を超える大人気イベントとなりました!
では早速、当日お話しした内容を見てましょう。

ラクスエンジニア+参加者の皆さまお薦めのツール類 >
※イベント申込時に、参加者の皆様にアンケートを実施しました。

VSCode拡張

  • live share
    visualstudio.microsoft.com
    • 複数人同時編集可能
    • ペアプロなどで使えそう
  • LiveServer
    marketplace.visualstudio.com
    • 参加者アンケートの結果

      vscode拡張機能
      ・簡単にwebサーバが立ち上げられる
      ・ローカルで作ったペライチhtmlからAPI叩くときに便利。
      Chromeのデフォルト設定ではローカルhtmlファイルから外部ソースを参照すると、デフォルトではorigin:nullでCORSエラーにひっかかるため

  • Visual Studio Code Remote Development
    code.visualstudio.com
    • VSCodeの拡張パック
    • 名前はRemoteとあるが、リモートマシン上の開発の他、コンテナやWSL上での開発でも使用できる
    • リモートマシン/コンテナ/WSL上関係なく、同じ感覚で開発ができる
    • 参加者アンケートの結果

      Windows環境でもWSL2(Linux) + Dockerで開発環境を整えられてとても便利です!
      Linux上なのでDockerのファイルアクセスも物凄く素早いです

  • Regex Previewer
    marketplace.visualstudio.com
  • JSON to TS
    • JSONからTypeScriptの型を生成してくれる
  • Bookmarks
    • シンプルにコードにブックマークをつけてサイドバー管理できる
    • 修正のし忘れ防止や実装揃えたい時にとても便利である
  • Bracket Pair Colorizer 2
    marketplace.visualstudio.com
    • 括弧の対応を可視化できる(ex:括弧に色がつく、範囲もわかる)
  • Todo Tree marketplace.visualstudio.com
    • プロジェクト中のTODOコメントなどを一覧化できる
  • indent-rainbow
    marketplace.visualstudio.com
    • インデントに色づけし深さを可視化できる
  • Auto Rename Tag
    marketplace.visualstudio.com
    • ペアになっているHTML / XMLタグの名前を自動的に変更してくれる拡張である

◆ 開発者ツール / Chrome拡張

◆ Webページ関連(参考情報系)

◆ JSライブラリ

  • json server
    www.npmjs.com

    • REST APIのモック作成が簡単に行える
    • バックエンドに先行してフロントエンド開発を行う時には便利
  • htmlhint
    www.npmjs.com

    • htmlの構文チェックを可能
    • vue.jsのv-htmlを利用制限を行う際に役に立つ
  • Testing library
    testing-library.com

    • 実装の詳細に関係なくUIのテストを書けるライブラリ
    • Reactでは公式推奨のテストライブラリとなっている

API関連

その他のツールとしては、
インテリセンス(コード補完など)ツールであるTabnenekite
Bootstrapなどと同じCSSフレームワークの一種であるtailwindcssなどがあげられました。

議題内容の詳細(記事リンク)などは、以下ShowNoteをご確認ください!
hackmd.io

2021年度開催

「フロントエンド開発の便利ツール・設定・プラグインなど」を語るフロントエンドTechCafe #2

rakus.connpass.com

3/10に開催した「「フロントエンド開発の便利ツール・設定・プラグインなど」を語るフロントエンドTechCafe」が大好評ということもあり、2021/6/16に同テーマにて再演しました!

ラクスエンジニアのお薦めのツール類 >
VSCode拡張

  • Jest Runner
    • テスト関数ごとに1クリックでrun/debugできるので便利

Google Chrome拡張

  • OneTab
    chrome.google.com

    • 開発に使うわけではないが、chromeのタブをストックしておくツール
    • 調べ物などで大量にタブを開いておくと、どこになにがあるかわからなくなったりメモリを使うので一時退避にオススメ
  • Awesome Screenshot
    chrome.google.com

    • 画像・映像キャプチャの取得、ダウンロード、共有をまとめて行える
    • chromeの画面だけではなく、デスクトップ画面全体やカメラのみにも対応
  • stylus chrome.google.com

    • ページに好きなCSSを設定でき、保存もできる

などなど、前回ご紹介したツール等も踏まえてフロントエンド開発に欠かせない便利ルール・設定・プラグインをご紹介させていただきました!

議題内容の詳細(記事リンク)などは、以下ShowNoteをご確認ください!
hackmd.io

「再入門!フロントエンドエンジニアが押さえておくべき技術」を語るフロントエンドTechCafe

rakus.connpass.com

2021年度最後のフロントエンドTechCafeは、ラクスのフロントエンドエンジニアの目線から押さえておくべき技術を6テーマにてご紹介しました。

本テーマは、弊社フロントエンドエンジニアが執筆した以下記事を参考にしておりますので合わせてご確認ください!
tech-blog.rakus.co.jp

JavaScript
◆ DOM操作の仕方
DOM(DocumentObjectModel)とは、ブラウザが表示しているHTMLの要素をJavaScriptで操作しやすいようにしたデータ構造です。
また、「操作しやすい」といっても、最近では直接DOMを扱うこと自体を避けるようにもなってきています。

【DOM操作の例】

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>タイトル</title>
  </head>
  <body>
      <section>
        <img src="example.png">
        <p>リンクは<a href="https://foo.example.com/">こちら</a></p>
      </section>
  </body>
</html>
  1. リンクの要素を取得する
    • const link = document.querySelector('a');
  2. リンクの文字列を変更する
    • link.textContent = 'あちら';
  3. リンクのURLを変更する
    • link.href = 'https://bar.example.com';

◆ ES6(ES2015)以降の記法
ES(ECMAScript)とは、JavaScriptの標準規格を定めたものです。
JavaScriptECMAScriptの関係ですが、JavaScriptはあくまでブラウザ上で動作するスクリプト言語で、厳密にはブラウザによって仕様が異なります。
ECMAScriptは、JavaScriptの標準規格で、各ブラウザはECMAScriptの仕様に沿ってJavaScriptを開発しています。

API呼び出し
フロントエンド開発ではバックエンドのAPI呼び出しの知識が必須となります。
この辺りもJSフレームワーク任せなことが多いが、基礎知識として覚えておくと良いと思います。
API呼び出しの書き方例は以下の通りです。

【FetchAPI】

// APIを呼び出した結果をconsoleログに出力
const url = 'https://foo.example.com/api'
async function callApi() {
    const res = await fetch(url);
    const text = await res.text();
    console.log(text);
}

callApi();

XMLHttpRequest(XHR)とjQueryでの書き方は、ShowNoteをご確認ください!

< TypeScript >

◆ TypeScriptの特徴
JavaScriptに変換されれます。
また、TypeScriptで書かれたプログラムを実行したい場合、TypeScriptをそのまま実行するのではなくTypeScriptをJavaScriptに変換させて実行します。

// typescript
const foo: string = 'foo';

👇

// javascript
"use strict";
var foo = 'foo';

フレームワーク
フロントエンドフレームワークとは、UIのコンポーネント化やリアクティブなデータバインティング処理をまとめたものです。

◆ フロントエンドフレームワークの種類
以下、メジャーなものを抜粋しました。

当日はフレームワークの世界/日本のシェア率を比較したりしました!
その他に、コンポーネント指向や仮想DOMについても分かりやすく整理し、参加者の皆さんで語り合いました。

< ④SPA(Single Page Application) >
SPAとは、(極めてざっくり言うと)ユーザーがアクセスするWebページは空の最初の1ページのみで、バックエンドのAPIを呼び出し動的に画面の要素の構築、画面遷移を行うタイプのアプリケーションことです。

近年では、Webアプリケーションでも、スマートフォンのアプリのような柔軟で表現に富んだ操作性や体験が求められることが多くなったため、SPAが重要とされております。

< テスト >
◆ テストの種類
テストの種類は以下があげられます。
イベント当日は、各テストのメリット/デメリットについてお話ししました。

< メジャーなブラウザ >
最後にメジャーなブラウザについてご紹介しましたが、時間が限られおり読み上げる程度で終了してしまいました…。
取り上げたブラウザは以下の通りです。

議題内容の詳細(記事リンク)などは、以下ShowNoteをご確認ください!
hackmd.io

ラクスのエンジニアと話をしてみたい方へ

ラクスでは、フロントエンドエンジニアだけでなく幅広い職種で採用を強化しております。
とはいえ、まだ応募する段階ではないという方にはカジュアル面談をご案内しております!

【こんな方におすすめ】

  • ポジションが経験にマッチするか確認したい
  • 働き方/環境・体制/事業・プロダクト/文化/制度を詳しく知りたい
  • 応募前に選考の概要を聞きたい(人物像、基準など)
  • エンジニア・デザイナーの人となりを知りたい

以下申込フォームとなります。
rakus.hubspotpagebuilder.com

「イベントで登壇していた●●さんとお話をしたい・・・」
などご要望がありましたらその旨をご記入の上、お申込みください!
お気軽にどうぞ 😊

まとめ

フロントエンド関連の最新ニュース・記事について語り合う、「フロントエンドTechCafe」のまとめはいかがでしたでしょうか?

  • フロントエンドエンジニアを目指している方
  • フロントエンド領域を学習し始めた方
  • 再度学習されたい方

などにとって本ブログ及び、フロントエンドTechCafeが有意義な情報となっていますと幸いです。
2022年度もフロントエンドTechCafeの開催を予定しております!
ご興味持たれる方がおりましたら、是非ご参加くださいませ。
次回、フロントエンドTechCafeは、ラクスconnpassページにてご案内させていただきます。

最後までお読みいただきありがとうございました!


  • エンジニア中途採用サイト
    ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
    ご興味ありましたら是非ご確認をお願いします。
    20210916153018
    https://career-recruit.rakus.co.jp/career_engineer/

  • カジュアル面談お申込みフォーム
    どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
    以下フォームよりお申込みください。
    rakus.hubspotpagebuilder.com

  • イベント情報
    会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加ください! rakus.connpass.com

Copyright © RAKUS Co., Ltd. All rights reserved.