タイトルの通りですが、EJSとかPugとかってVue.jsとかReactとかと役割がかぶって結局いらないのですか?
JSフレームワークとか,テンプレートエンジンとかがつかみきれなくて困っています。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
そうですね。
一部の役割は被っていますし、
私もEJSやPugは最近殆ど触っていません。
JSフレームワークは「HTML風テンプレート」を読み込ませて、
JSフレームワーク流儀の変数変更を行うと、
自動的にHTML風テンプレートから最新のDOMツリーに変更してくれるライブラリを指します。
この「HTML風テンプレート」がReactならJSXが主流ですし、
VueやAngularにも自前の様式があります。
Webアプリを作りたいという要望ならばEJSやPugを覚えたけど何処で使うの?という感じになる疑問はわかります。
対するEJSやPugはテンプレート言語です。
自前のルールのファイルを作ると、
それを解析してHTMLを払い出してくれるソフト・ライブラリを指します。
EJSは変数やJSを使えるほぼネイティブHTMLといった立ち位置なので、
Express等と組み合わせる昔ながらのHTTPリクエストを使ったWebサイトという形になりがちです。
PugはHaml、Slim由来の簡素な書き方が出来る事が特徴です
JSフレームワークが要求する「HTML風テンプレート」を作るのに
Pugで作れば良いじゃん?という用途・思想は結構あります。
私は以前職場でAngularJSとPugを組み合わせて利用していました。
PugからHTMLファイルにコンパイル、その出力結果をAngularJSが「HTML風テンプレート」として利用するという仕組みを構築しました。
私はその後Reactに逃げたのでAngular(バージョン2でJSが取れた)は使っておらずわかりませんが。
Vue.jsは公式がPugを併用した仕組みを準備しています。
Using Pre-Processors - Vue.js ドキュメント
ReactはJSXが主流ですが、
createElementをラッピングしてJavaScriptの関数宣言でラッピングしまくる感じでやれば
Pugに非常によく似たフォーマットでテンプレートを表現することが可能です。
私はこのPugで培ったやり方を愛用しており、無駄では無かったなぁと感じています。
投稿2020/08/26 15:29
総合スコア21203
0
こちらを参照しましょう。
Webアプリケーションフレームワーク - Wikipedia
と言っても、
何が便利で、どんな違いがあるのかは、
それがいるかどうかも含めて、
自身で使ってみないとわからないと思います。
投稿2020/08/26 15:05
総合スコア9555
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。