質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.33%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ghost

Ghost はNode.jsで動作するCMS"Ghost"はWordPressから独立したシンプルなCMSです。

意見交換

3回答

450閲覧

サークルホームページ及びWebアプリを作るにあたって使うべきフレームワーク

Apple_Candy

総合スコア0

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ghost

Ghost はNode.jsで動作するCMS"Ghost"はWordPressから独立したシンプルなCMSです。

0グッド

0クリップ

投稿2025/02/01 18:13

ある団体での活動を紹介するためのホームページを制作したいと考えています。
他にも複数人で投稿ができるブログと、サークル内wiki等を実装したいと思っています。
要素に分解すると

  • アカウントのログイン・ログアウト
  • 権限設定を柔軟に実装したい
  • ログインすることで記事の投稿、編集、削除が出来て、ある権限によるチェックを経て記事が投稿されるフローにしたい
  • ログインすることでアカウント保持者のみが閲覧できる部内wikiを閲覧できる
  • 記事はMDエディターによって書ける

となります。

プログラミングの経験はありますがWebアプリの開発経験はなく、具体的にどのようなフレームワークを使うか悩んでいます。
WordPress + プラグイン は比較的かんたんだと思いますが今回は、
拡張性と保守性、セキュリティやサーバーのスペックといった観点からWordPressは使用せずに他のサービスを利用しようと考えています。
具体的にはGhostを使うか、StrapiといったヘッドレスCMSを使ってWordPressを使わずにローコードで作成しようかと考えていますが、
そうなるとPHPではなく、Node.jsとかで開発になってきますよね。
完全に独自開発となると流石にハードルが高すぎるかなと思いました。

結局どんな手が今のところの最善かを見極めるには知見が少なすぎる為、皆さんのご助言をいただけたらなと思い質問させていただきました。

当方はWindows使用者ですが、WSL2 + Dockerは揃っています。使用しようと考えているサーバーはLolipopでNginxやMySQLは対応しているようです。
ちなみにPHPは未経験です。Node.jsはDiscordBot開発で少し触れた程度となります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答3

#1

utm.

総合スコア524

投稿2025/02/02 14:02

まず開発体制が不明なので、学生だと仮定して学生気分で回答します。
技術選定を行うのに十分な知識がないのであれば、まず技術選定をしようとする考え方が不要に思えますので、実際に開発を進めていき対処療法的にやり方を組み込んでいくのが妥当に思えます。
(それは当然完全リプレイスで開発言語をシフトする事も考慮のうちに入ります)

また、拡張性や保守性の観点に触れておくと私の個人的なバイアスがあるかもしれませんが、Web開発に関してはほとんどの人はPHPから学習を進めるイメージがあり、ロースキルな人でも保守可能というのであればフレームワークをつかわないバニラPHPがそのどちらもを満たせると思います。
私の個人的な考えですが、新興技術を詰め込み開発者将来的にほぼゼロないしはWeb上でのドキュメントに当たれないということが起きることを想像するとそれが保守性が高いとは到底思えないのです。

最善の方法をお求めのようですが、最善の方法はありませんから考えるだけ無駄かと思います。

大規模フレームワークを使用する1番のメリットは、処理を構造化しスコープを管理したりテスト可用性を高め、それらの膨大な工数を削減することだと考えています。
学生気分の開発にこれらは不要ないしは、邪魔な思考はワーキングメモリを無駄に消費しますし、あなたがしたいことの本質からどんどん遠ざかります。

また、大きなお世話かもしれませんが、実装したい項目を冷静なタイミングで本当に必要かを考えることも需要です。必要な開発期間に対してほんとに必要か?なんて冷静になると馬鹿げてくることもあります。

ちなみにNode.jsはランタイムですので、PHPとNode.jsを比較するのは不自然です。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

tanat

総合スコア18778

投稿2025/02/02 18:39

まず

ある団体での活動を紹介するためのホームページを制作したいと考えています。
他にも複数人で投稿ができるブログと、サークル内wiki等を実装したいと思っています。

について、開発やサーバ運用の勉強をしたいのか、機能そのものを手に入れて団体の活動に役に立てたいのかをはっきりさせることをお勧めします。

勉強をしたいという事であれば、
utm.さんの回答がとても役に立つと思います。


以下は、そうでは無い、もしくは将来そうでは無くなった場合の回答です。

WordPress + プラグイン は比較的かんたんだと思いますが今回は、
拡張性と保守性、セキュリティやサーバーのスペックといった観点からWordPressは使用せずに他のサービスを利用しようと考えています。

開発難易度やスペックに着目されている様に見受けられますが、
サーバ運用そのものを勉強したい
という強い目的が無い限りはサーバOSやフレームワークそのものの保守運用にも気を配る必要があります。

具体的には、

  • サーバそのものの運用がサービスに含まれている(いわゆるレンタルサーバ)
  • アプリケーションも含めてサービスとして提供してくれる(SaaS)

を選択しないと法的なリスクや運用負荷が大変面倒なことになります。
(インターネットに公開するwebアプリケーションならではの面倒くささです)

例えば、適当なVPSにWordPressを入れてアップデートも必要なセキュリティ対策もしないで置いておくと、
割とあっという間に乗っ取られて犯罪者の踏み台やマイニングリソースにされてしまいます。

記載されている要件はWordPressをはじめとしたSaaSの存在するCMSやコミュニティサイトのSaaSで賄えるものでしょうから、もし私が同じ立場なら

  • 自動アップデートが提供されているSaaSを選択する(仮に自動アップデートの結果、サービスが止まっても許容する)
  • SaaSによる制約はある程度受け入れて、手放しで運用出来ることを許容する

あたりを選択すると思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

miyabi-sun

総合スコア21222

投稿2025/02/03 03:01

ある団体での活動を紹介するためのホームページを制作したいと考えています。
他にも複数人で投稿ができるブログと、サークル内wiki等を実装したいと思っています。

GitHub Pagesでやりましょう、終わり

団体の活動を紹介するためのホームページに関しては、画像やCSSをふんだんに使ったグラフィカルなサイトが良いでしょうから、
私だったらこのような形で実装します

  • GitHubでMarkdownファイルの記事を管理する
  • HugoなどのMarkdownファイルからWebサイトを生成する静的サイトジェネレータを活用する
  • Netlifyなどの静的ホスティングサービスを利用する
    • Netlifyは独自ドメインが使えるので設定する

戦略としては既存の仕組みのタダ乗りできると楽だからという意味です

  • teratailみたいなMarkdown機能を搭載したtextareaの作り込みは年単位で時間がかかる
    • ローカルのMarkdownを読み書きできる高機能なエディタなんて山程ある
  • 極力認証システムの構築からは逃げろ
    • すぐにサーバー乗っ取り始める輩が群がって来るので百害あって一利無し
    • インフラエンジニアを志してるとかでない限り、退職も視野に入れて良いレベル
    • wordpressの認証システムも、用意するとなったらログイン失敗したら即自分に通知が来るようにしておくべき
      • こういうのが複数サービスで積み重なると忙殺される

チャレンジ目標としてなんか作ってみたいという話であれば
四の五の言わず数パターンのWebサイトを構築して試してみるべきです

訪問者視点だとURLを打ち込んだた然るべきHTML+CSS+JavaScript+画像ファイルが配置されていれば
そのサーバーがPHP、Node.jsはたまたRustやC++で作られている!?などという中身の違いなんてどうでも良いです
例えばニコニコ動画はC++で作られてますが、そんな話されてもどうでも良いですよね?

Webサイト制作者基準であれば、HTTPアクセスを受け取って正しいHTMLファイルを返して
必要があればDataBaseや別ファイルへアクセスして情報を探すだけです
こういうマクロの視点で見渡せるようになれば「どのフレームワーク使っても同じやんけ」という結論になり
「用途に応じて楽だと思うものを使えば良いじゃん」って感想しか出てこなくなります

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

この意見交換はまだ受付中です。

会員登録して回答してみよう

アカウントをお持ちの方は

関連した質問