//
表示中
Computer - コンピューター

流行りのWebアプリ開発〜ExpressやMongoDBを使う


少し前はLAMPというのが流行ってました。LAMPはLinux OS + Apache Web Server + MySQL Database Server + PHP/Perl/Python の頭文字を並べた名称で、Webアプリケーションを開発するためのソフトウェアの組み合わせを表す言葉です。

最近はMEANというのが流行っているようです。MEANは MongoDB + Express + AngularJS + Node.js の頭文字を並べた名称で、これもWebアプリケーションを開発するためのソフトウェアの組み合わせです。もうすっかりJavaScript!という感じですね。

僕はというとつい最近までWebアプリケーションを開発するときは、Linux(やOSX) + Apache + PostgreSQL + AribaWeb + Javaという組み合わせでした。AribaWebフレームワークで使う対話的なコンポーネントを作る時に嫌々JavaScriptを使うことはありましたが、この環境ですが、プログラミングはJavaだけで行うのが普通です。SQLもHTMLもほとんど書かない美しいオブジェクト志向の世界です。

以前はApple(NeXT)のWebObjectsを使いObjective-CやJavaでアプリケーションを開発していましたが、似た構造のAribaWebを使いJavaでアプリケーションを開発するようになりました。金融機関のオンラインアプリケーションを一人でいくつも作るなんていうことがやれたのも、この開発環境のおかげだと思っていますが、ネットで検索してもAribaWebを実アプリケーションの開発に使用している人は日本には皆無と言って良い状況です。超マイナーな開発環境です。中身はすごいんですけどね。

MEANスタックを使ってアプリケーションを開発するのはなかなか効率が良いようですし、それで作られたものが望まれることもあるので、重い腰を持ち上げてJavaScriptと対峙することにしました。使っている人が多い仕組みなので、改良する際に参考になる情報が多いのが利点です。

で、早速、作ってみました。

MongoDBのデータベースを操作するアプリケーションです。使用した技術要素はNode.js、Express、EJS、CSS、JavaScript、HTML5、MongoDBです。

開発環境は使い慣れたEclipse IDEにNode.js用のプラグインをインストールしたもの。

eclipse+node+express+mongo

最近はHTML5 + CSS + JavaScriptなアプリケーションが多いですが、このアプリケーションもそういうものです。超現代的!笑。ここまで丸2日も費やしてしまいました。

Basic認証を経て開いたホーム画面です。MongoDBの中のデータベースの一覧とMongoDBサーバーの状況を表示しています。

mongo-browser-home

データベースを選択するとコレクション(SQLデータベースならテーブル)の一覧が表示され、データベースの状況を表示します。コレクションをJSON形式でダウンロード(Export)する機能があります。

mongo-browser-db

コレクションを選ぶとデータを検索して一覧表示。簡単なキー/バリューの組み合わせで検索ができます。

mongo-browser-col

全てを知っているわけではありませんが、Expressというアプリケーションフレームワークで使用されるUIコンポーネントは非対称型と呼べるもので、リクエストの処理(アクションハンドリング)とレスポンスの処理(レンダリング)を別に書く。AribaWebやWebObjectsのコンポーネントは対称型なので、iOSでインターフェースビルダーを使って部品を配置するのと似た感覚です。これだけで優劣を論じる気はしませんが、コードの見通しは後者の方がいいし見た目も綺麗なので好きです。おそらくHTMLやJavaScriptなどのスクリプト型の言語から入ってWebアプリケーションを作り始めた人には、今回のような開発環境や開発方式の方が入りやすいと思いました。

JavaScript入門から始めたので苦しかった。夢に出てきてうなされるくらい。笑。もう少し理解を深めて「わかった!」というところまで早く辿り着きたいと思います。

 

kazz12211 について

Working as a OO programmer and enjoying music, bicycle and photography.

ディスカッション

コメントはまだありません。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

評価

ブログ統計

  • 546,054 ヒット

カテゴリー

アーカイブ

カレンダー

2016年4月
« 3月   5月 »
 12
3456789
10111213141516
17181920212223
24252627282930
%d人のブロガーが「いいね」をつけました。