フォルシアのフレームワークとTypeScript
by
forcia_dev_pr
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
フォルシアのフレームワークとTypescript 籏野 拓 2022.11.15 @Shinjuku.ts
Slide 2
Slide 2 text
Speaker ● 籏野 拓 (Taku Hatano) ● ソフトウェアエンジニア@フォルシア株式会社 ○ webサイトの検索ページ(受注/SaaS) ○ 社内のお役立ちツール開発など ● 活動領域 2
Slide 3
Slide 3 text
フォルシアのWebフレームワーク変遷 aaaa 3 第一世代 第二世代 第三世代 - 世にWebフレームワークがない時代 ~CommonJSの時代 - モジュールのrequireなどを自作 - 独自の仕組み/書き方が多い - 非同期の処理なんかも作られていてすごい 2018 2010年代初期 2000年代初期
Slide 4
Slide 4 text
フォルシアのWebフレームワーク変遷 aaaa 4 第一世代 第二世代 第三世代 - 世の中に便利なフレームワークがかなり広がった - webフレームワークを自作することに優位性はない - Node.jsのモジュールを組み合わせて利用していく 2018 2010年代初期 2000年代初期
Slide 5
Slide 5 text
フォルシアのWebフレームワーク変遷 aaaa 5 第一世代 第二世代 第三世代 入社 への変遷で体験した「TSって素晴らしい!」を紹介 2018 2010年代初期 2000年代初期
Slide 6
Slide 6 text
当時は学習コストに対する懸念があった模様。。? →BUT. 学習コスト以上のメリットが間違いなくある! Typescript(Node.js)の選定理由 6 ● 静的型付けが可能 ● 利用者/ライブラリの多さ ● client/serverのコードを共有できることによる生産性
Slide 7
Slide 7 text
TSって素晴らしい!① 7 リクエストパラメータに(限らず)型を付けられる var params = request.params; // ...???? ● どんな値を持つのかわからない ○ 初めてジョインするプロジェクトでは地獄。。。 ● プログラムの途中で自由に書き換わる ○ 気づいたら数値→文字列に変わっていることもよくある。。。
Slide 8
Slide 8 text
TSって素晴らしい!① 8 const params: APIParams = request.params; params. ● 可読性がぐんと高くなる ○ エディタの補完機能が強くなったり ● 意図せぬ型を代入しようとすると怒ってくれる ● OpenAPI定義と組み合わせて型やコードを自動生成すると さらに強固に型で守ることが可能 リクエストパラメータに(限らず)型を付けられる
Slide 9
Slide 9 text
TSって素晴らしい!② 9 インターフェースの概念が導入された interface InterfaceA { method1() : void; }; class ClassA implements InterfaceA { method1() : void{ console.log("ClassA - method1()"); } }; ● インターフェースと実装を分離することができる。
Slide 10
Slide 10 text
TSって素晴らしい!② 10 アプリ開発者が意識せずとも、フレームワーク側で実装を切り替えられたり 実装1 C 実装3 C 実装2 C インターフェース I 参考: TypeScript で学ぶインターフェース (抽象型) https://www.forcia.com/blog/001547.html
Slide 11
Slide 11 text
まとめ 11 一度型の恩恵を受けると、型のない生活には戻れません ● 型は最低限のテストである ● 型を利用することで実装を隠蔽できる
Slide 12
Slide 12 text
EOF