![見出し画像](https://assets.st-note.com/production/uploads/images/84778357/rectangle_large_type_2_0b43b93bd09a0a4b261002b8f63977de.png?width=1200)
【海外イベント紹介】Bet You Didn’t Think Your Browser Could do That by Monica Dinculescu
#Jamstack #JavaScript #WordPress #cdn #static_site_generator
#CSS #Next .js #Netlify #HTML #Gatsby #Hugo
今回は、「Jamstackカンファレンス 2018」で行われたプレゼンテーションから、「Bet You Didn’t Think Your Browser Could do That」の内容をご紹介します!
10年以上の歴史を持つ「Jamstackカンファレンス」は、Jamstackの生みの親であるクラウドコンピューティング企業「Netlify」が主催。世界中の開発者が集い、Jamstackをコンセプトとした最新のWebサイトの設計、開発などについて話し合います。プレゼンテーションの言語は英語ですが、本ブログでは日本語でご紹介します。
目次
開発フローのボトルネック
複雑さの問題
サーバーが必要な理由とは?
① ホスティング
② データベース
③ インタラクト
ブラウザでの動的処理の現在
まとめ
今回の講演者は、Magentaという機械学習と音楽・アートを組み合わせたプラットフォームの開発者Monica Dinculescu氏。
プログラマに求められる「ずぼら」さ、これが、Jamstackの開発にどう活きているかが語られています。
では、さっそく見ていきましょう。
開発フローのボトルネック
![](https://assets.st-note.com/img/1660554509185-cpmOJfjPCR.png?width=1200)
上の図はMonica氏が開発したサービスが、ユーザーに届くまでを図に表したものです。
ピンクで囲まれたpixelsは、彼女独特の表現で、自分が直接開発する部分を表します。
黄色で囲まれた部分は、サーバー上で行われる工程を表します。
pixelsの開発は、ものによっては1日で完成することも。
しかし黄色の部分、サーバー上で行われる工程に問題があると、修正したり維持したりするのに、なんと4ヶ月以上かかることもあります。
では、サーバー上で行われる工程に問題が生じる原因の一つはなんでしょうか?
複雑さの問題
![](https://assets.st-note.com/img/1660554538937-LUgrvjjFtg.png?width=1200)
サーバー上で行われる工程に問題が生じる原因の一つ。
それは、複雑さだとMonica氏は強調します。
複雑さの一例を挙げると・・・
JavaScriptのライブラリなどを使用する際、実際には使用しない機能でも「とりあえず」ライブラリをインポートしておくということがあります。
結果、バージョン違いのライブラリが混在することになります。すると、どうなるでしょうか?
ライブラリがバージョン違いによるコンフリクトを起こし、エラーが多発するのです。
これはほんの一例にすぎませんが、このようにサーバー関連のエラーまで一人の開発者が見ようとすると・・・
求められるスキルが広範囲に及びます。コストもかかります。
実際のところ、1人が全方位でエキスパートになれるわけもありません。
それでもなお、「静的サイトではだめだ!」という思い込みが開発者に刷り込まれ、サーバー関連の作業に重きが置かれているのはなぜでしょうか?
サーバーが必要な理由とは?
自前でサーバーが必要であるとの主張に際してよく挙げられる3つの理由は・・・
① ホスティング
![](https://assets.st-note.com/img/1660554587493-YivvHdBhvf.png?width=1200)
【理由その①】
作ったサービスをホスティングするのにサーバーが必要であると考えられている。
【実際は】
上記の画像にあるようなクラウドのサービスで代替できます。
自分でサーバーをセットアップし、OSやパッチなどの管理をし、ネットワークをモニタリングする・・・このコストを本来の開発業務に振り分けることのほうが遥かに有益です!
② データベース
【理由その②】
データベースが必要であると考えられている。
【実際は】
データベースもクラウドサービスを利用できます!
SQLでもNoSQLでも、ローカルストレージすら、クラウドサービスの利用が可能です。
③ インタラクト
【理由その③】
顧客にフォームを入力してもらう、ユーザー認証を行う。
これにはサーバーが必須であると考えられている。
【実際は】
それらもサードパーティが提供するサービスで解決できます!
ブラウザでの動的処理の現在
ブラウザとJavaScriptのライブラリを呼び出すだけでできることの幅は大きく広がっています。プレゼンの中で4つのデモが紹介されました。
ここではその中の1つをご紹介します!
Tensorflowという有名なPythonの機会自動学習のライブラリです。
JavaScriptのバージョンtensorflow.jsを活用した事例も増えています。
これらはブラウザ上で、ローカルマシンで実行したときと同程度のスピードで処理ができる高速化を実現しています。
![](https://assets.st-note.com/img/1660554658956-W85FliAxKa.png?width=1200)
まとめ
「ずぼらであれ」というのは基本的な理念としてプログラマーに伝えられるものです。
つまり、「本来行う必要のなかった業務」、「不必要に繰り返される作業」、これらの面倒なことは繰り返さないという理念です。
その理念に基づいて様々なライブラリが進化してきました。
開発工程はより複雑化し、習得すべき知識が増加。
求めた「ずぼら」からどんどんかけ離れていく結果となっていることは皮肉なことです。
「ずぼら」に立ち戻るため、新世代の彼女にとって自然な着地点だったJamstack。
これからますます、期待できそうです!!
最後まで読んでくださり、ありがとうございました。
株式会社ヒューマンサイエンスは、他社にはない、「ドキュメント制作のノウハウ」×「最新のWeb開発技術(Jamstack)」を用いて、Webコンテンツとプラットフォームのソリューションをご提供します。
関心がある方は、ぜひこちらまでお問い合わせください!
株式会社ヒューマンサイエンスhttps://www.science.co.jp/document/jamstack.html
この記事が気に入ったらサポートをしてみませんか?