GajumaleRecruit Site

ニュース

イベントや勉強会の様子をお伝えしています。
ガジュマルの雰囲気を、是非感じてみてください。

勉強会

勉強会「Web技術を選定する上でのポイント」

2021年05月22日(土曜日)
プログラミング言語やフレームワークなど、選定する際のポイントについて勉強会を開催しました。

■概要
技術選定の観点から、CakePHP、Laravel、Node.js、Goを中心に解説

■Go言語について
Googleが開発したオープンソースのプログラミング言語

 ★Go言語のメリット
 ・文法がシンプルである
 ・高速な処理が可能
 ・並列処理が得意
 ・メモリの安全性が高い
  →Cだとメモリーリークを起さない様にする必要がある

 ★Go言語のデメリット
 ・「継承」ができない
 ・3項演算子がない
 ・genericsがない
 ・例外処理ができない
 ・普通のスクリプト言語と勝手が違い、失敗するプロジェクトもあるので、
  よく理解して導入する必要がある

■Node.jsについて
 JavaScript実行環境の1つで、
 ウェブブラウザの中で実行されるのではなく、サーバサイドJavaScriptの一種
 WebSocket通信機能が使える他、実行速度が高速という特徴もある
 JSベースで使えるが使い方が少々特殊

■CakePHPについて
 PHPで書かれたオープンソースのWebアプリケーションフレームワーク
 運用案件が多い
 ORMのクエリービルダーにより簡単にクエリーを作り、 実行することができる。
 Laravelなどはテストに優れている面があり奪われてしまっている

■Laravelについて
 PHPで書かれたオープンソースのWebアプリケーションフレームワーク
 スクリプト言語のフルスタックフレームワーク代表
 日本語のマニュアルが優れており、ドキュメントも充実している
 何でもできるが処理が速いわけではない

■言語、フレームワークを選定する際の観点
 ★マイクロサービス (microservices) とは
  ・アプリケーション開発の手法またはアーキテクチャ
  ・アプリケーションの構成要素を独立したサービス群 (マイクロサービス) へと分け、
   連携させる手法で、アプリケーションに導入可能な部品すべてが、
   アプリケーション内に含まれている状態
  ・モノリシックな手法の課題を解消し、開発と対応を促進するのに役立つ
  ・連携分遅くなる可能性があるため、それに配慮して作る必要がある

■フルスタックフレームワークサービス・マイクロサービスのメリット・デメリット
rails、laravelなどのフルスタックフレームワークを利用すれば、手軽にWebサービスの構築できる。
しかし、3年あるいはそれ以上続くWebサービスを構築する際は、フルスタックフレームワークを採用するかどうかは慎重に検討する必要がある。
ケースバイケースではあるが、マイクロサービスの考え方をフレームワーク・ライブラリ構成に応用するとメリットがある可能性があります。

 ★フルスタックフレームワークのデメリット
  ・ロックインされる(一番大きなデメリット)
   フレームワークのメジャーバージョンアップがあった場合、
   それに追随するならば、サービス自体に手を入れる必要がある
  ・オールインワンである
   作ろうとしているサービスが、簡素なものである場合、
   その構成自体が「大きすぎる」可能性がある
  ・学習コストが高い
一覧へ戻る