様々な、お手厳しい、しかし極めて有益な意見を多数頂戴いたしました。
皆様、有難う存じます。
しかし、やはり既製CMSの改造では無理のように思われます。
・はてな的なポイントシステム、特定認証局、お仕事斡旋、ナレッジベースなどを
統一したシステムで運用したい
・システムに対する低水準の理解を要する
などの理由です。
「車輪の再発明」の愚を犯すだろう、とのご意見も頂戴しましたが、
私個人の性質として、
「帰納よりも、演繹的な学習・実践から得るもののほうが、結局遥かに大」
というものがあり、
これもあって、やはり一から作りたいと思います。
HTML、サーバサイドJava、PHP、MySQLなどで。
力が及ばない領域は、厳格なI/O仕様の元、外注しようと思います。
そこで、皆様に引き続き質問です。
・Javaのフレームワークは何がよいでしょう? 特にHTMLのインターフェイス関係が充実しているものがよいです。
・それでもやはり既製のものから入っていった方がよいだろうなど、
その他ご意見を頂戴できるとすれば、ご自由な形式・テーマで、是非ご忌憚なきご意見を下さいませ。
よろしくお願い申し上げます。
前回の質問でコメントした者です。メッセージありがとうございました。わざわざポイントも添付していただいたようで恐縮です。
さて、前回のコメントにもあるように、スタートアップの資金不足の問題を解決するためのプラットフォームとしてGoogle App Engine / Java とそのWebアプリケーションフレームワーク、Slim3を推薦しましたが、MySQLのようなRDBMSにはないデメリット(及びメリット)がGoogle App EngineのDatastoreにはありますので、その点を抑える必要があります。
(参考記事)
http://www.atmarkit.co.jp/fjava/rensai4/bigtable01/01.html
特に複雑な検索や集計処理が苦手です。(そのトレードオフとして高いスケーラビリティを持っています)
開発するアプリケーションの要件によっては適さないことがありますので、その場合は
他の回答者様もご指摘のStruts(またはそれをベースにしたSAStruts)とMySQLのようなRDBMS(及びS2JDBC等のO/Rマッパー)を使われるほうが良いと思います。
※素のStrutsは生産性が低いので、個人的にはStrutsの問題点を改良したSAStrusを推します。
とはいえ、事業として成功するためには増減するトラフィックを柔軟に処理できる仕組みづくりが必要不可欠です。
この点において、GAE/Jは低い追加コストでスケールするシステムとなっているため、対応が非常に楽です。
(また前回のコメントにある通り、インフラに対する初期投資が0円であることも魅力です)
開発で苦労するか、運用で苦労するか、その選択が大事ですよね。
ちなみに広く一般に普及しているWebサービスは、開発よりも運用で苦労しています。(そして多額の人的、物的投資をしています)
利用範囲が決まりきっている、イントラ向け受託開発であればSAStruts&S2JDBC(またはStrutsとその派生)
不特定多数のユーザが利用する、オープンなWebアプリケーション開発であればGAE/J(Slim3)が良いですね。
(Slim3参考)
http://sites.google.com/site/slim3documentja/
(Datastoreの理解に)
http://codezine.jp/article/detail/4750
こちらを読んで、選定してみてください。
)やはり既製CMSの改造では無理のように思われます
まあ、規制のCMSの改造でサービスを提供している大きいところなんてないですからね。
>規制〔ママ〕のCMSの改造でサービスを提供している大きいところなんてないですからね
やはりそうですか。
比較サイト、ありがとうございます。
先の質問では無責任なコメントで失礼しましたが、丁寧な対応有難うございました。
ご本人がやると決めている以上、汎用システムを使用する・しないの議論を蒸し返しても
しょうがないと思いますので、今回は CMS を実装する前提でのコメントです。
私自身が実装したのは、PHPだけで実装した小規模なものを除けば、フレームワークを使用
したのは TOMCAT + Struts + PostgreSQL だけです。
(開発環境は Eclipse + Subversion を選定しました)
選定したのも、もう6年も前の話なので現在ではだいぶ状況も変わっていると思います。
ですから、現時点で何がよいかという点からは回答できませんが、何を使用するにしても、
ネットの情報だけでなく何か一つきちんとした技術参考書を用意されるのがよいと思います。
私自身のときは下記を参考資料として使用しました。PHPの習得の時もこのシリーズを使用
しましたが、システムを作りながら覚えるという向きには良いかと思います。
同様の組み合わせで検索してみると、下記のようなものもありました。
フレームワークの比較論としてブログに下記のようなものもありましたので、参考にされては
どうかと思います。
http://d.hatena.ne.jp/t1000leaf/20101125/1290612768
http://d.hatena.ne.jp/szk-takanori/20100518/p1
http://d.hatena.ne.jp/t_yano/20081118/1227008018
(こうしてみると、はてなのダイアリなかなか充実してるなw)
私自身の経験でいけば方針が決まった後、実際の開発・評価環境を構築するまでがいちばん試行
錯誤した部分です。
ユーザ認証をして最初の画面が出るまでといった簡単なものでもよいので、とにかく MVC
(あるいは採用されたフレームワークの構成機能)を使用した実装してみることです。
そこまでできて、ようやく最低限の開発プロセスが構築できたといえるでしょう。
蛇足ですが、開発言語が Java とはいえ、WEBアプリケーションであるなら HTML、JavaScript、
SQL、CSS、HTTP(S) 等の知識も重要になりますので、考慮されてはと思います。
既存の CMS を使うメリットは、このあたりの知識が十分でなくともシステムを構築できる点にも
あります。
>先の質問では無責任な
いえいえ、たとえ、なにげない一言であっても、Mook 様のような有能なかたが発したものであれば、それは非常に価値があるものです。
6 年前までの話ではあるけれども、小規模なら PHP、大規模なら Tomcat + Struts + PostgreSQL (開発環境は Eclipse + Subversion)とのこと。参考になります。
実は、Java + Strat にするか、Google App Engine + Java + Slim3 にするか、迷っているところです。とりあえず、Slim3 に関する書籍は注文してみましたが、Struts に関する本も買ってみます。ご提示の書籍がオススメなのですね?
HTML、CSS に対してはパーフェクトな理解を持っているといえるのでは、と自認いたしておりますが、JavaScript は作ったことがありませんし、SQL も知らず、HTTP(S) に関しては、これは低水準の理解が必要になるかと思いますので、先行きを考えてかなり自身のないところです。が、やるしかありませんね。ありがとう存じます。
Seasar 2 徹底入門 SAStruts/S2JDBC 対応
竹添 直樹
近頃はこの組み合わせも多いですね。
StrutsによるWebアプリケーションスーパーサンプル 第3版
高安 厚思 西川 麗
strus2を使うのが実績もあるしかなりかたいと思います。
strus2を選んだ場合は、DB層のフレームワークを別途選定したほうがよいと思います。
うーん。ありがとうございます。"DB層のフレームワーク" というものがあるのですね。ありがとうございます。
前回の質問でコメントした者です。メッセージありがとうございました。わざわざポイントも添付していただいたようで恐縮です。
さて、前回のコメントにもあるように、スタートアップの資金不足の問題を解決するためのプラットフォームとしてGoogle App Engine / Java とそのWebアプリケーションフレームワーク、Slim3を推薦しましたが、MySQLのようなRDBMSにはないデメリット(及びメリット)がGoogle App EngineのDatastoreにはありますので、その点を抑える必要があります。
(参考記事)
http://www.atmarkit.co.jp/fjava/rensai4/bigtable01/01.html
特に複雑な検索や集計処理が苦手です。(そのトレードオフとして高いスケーラビリティを持っています)
開発するアプリケーションの要件によっては適さないことがありますので、その場合は
他の回答者様もご指摘のStruts(またはそれをベースにしたSAStruts)とMySQLのようなRDBMS(及びS2JDBC等のO/Rマッパー)を使われるほうが良いと思います。
※素のStrutsは生産性が低いので、個人的にはStrutsの問題点を改良したSAStrusを推します。
とはいえ、事業として成功するためには増減するトラフィックを柔軟に処理できる仕組みづくりが必要不可欠です。
この点において、GAE/Jは低い追加コストでスケールするシステムとなっているため、対応が非常に楽です。
(また前回のコメントにある通り、インフラに対する初期投資が0円であることも魅力です)
開発で苦労するか、運用で苦労するか、その選択が大事ですよね。
ちなみに広く一般に普及しているWebサービスは、開発よりも運用で苦労しています。(そして多額の人的、物的投資をしています)
利用範囲が決まりきっている、イントラ向け受託開発であればSAStruts&S2JDBC(またはStrutsとその派生)
不特定多数のユーザが利用する、オープンなWebアプリケーション開発であればGAE/J(Slim3)が良いですね。
(Slim3参考)
http://sites.google.com/site/slim3documentja/
(Datastoreの理解に)
うーん、GAEは、スケールに関する心配をしなくてよい(小から大へ、なめらかに移行する)という点と、「あの天下のGoogleが、利用者を困らせるようなことをするはずがない」という憶測(笑)が、非常に大きな魅力ですね。
複雑な検索などは、「途中のデータ」を作ることで対処できるような気がするのですが…
うーん、GAEは、スケールに関する心配をしなくてよい(小から大へ、なめらかに移行する)という点と、「あの天下のGoogleが、利用者を困らせるようなことをするはずがない」という憶測(笑)が、非常に大きな魅力ですね。
複雑な検索などは、「途中のデータ」を作ることで対処できるような気がするのですが…