ASP.NET向けCMSのUmbracoの環境構築

Umbraco(アンブラコ)

Umbracoは、ASP.NET向けのオープンソースのコンテンツマネジメントシステムであり、Microsoft WindowsのASP.NETで動作するシステムとしてC#で開発されている。

データベースは、Microsoft SQL Server、MySQL、Microsoft SQL Server Compact 4 (SQL CE 4) に対応している。

2000年初頭にデンマークのNiels Hartvig によって開発されたUmbracoは、最新のユーザーインターフェース、.NETアーキテクチャーによる高い拡張性を背景にその人気はDotNetNuke、MODxなどと肩を並べるほどに成長したそうだ。

WebMatrixのUmbracoを以下のように説明している。

Umbraco CMSは、コンテンツおよびアプリケーションの管理、および数百万のユーザーへの配布のために、http://www.asp.net、http://wired.co.uk/、および160,000を超えるその他サイトで使用されるフレームワークです。Umbracoの最新のUI、純粋な.NETアーキテクチャ、およびアクティブなコミュニティにより、このフレームワークはWeb CMSの最良の選択となっています。Umbracoは使いやすく、拡張も簡単で、既存のシステムと統合できます。

 

Umbracoの環境環境は以下のWebサイトが参考になります。

Read More

ASP.NETとは?Web FormsとMVCの違いは?

ASP.NETとそのWeb FormsとMVCという異なるASP.NETのフレームワーク違いについてまとめました。

 

ASP.NETとは、マイクロソフトが開発・提供しているWebアプリケーションフレームワークで、動的なWebアプリケーションの開発・実行基盤のことを指します。

ASP.NETは、インターネットインフォメーションサービス(IIS)によりホスティングされ実行され、ASP.NET登場以前のASPやPHP等と同様にサーバー側で動的にHTMLを生成します。

ASP.NETは、個人規模のWebサイトから大規模Webアプリケーションまで様々な形態のWeb開発に対応しているフレームワークです。

当初のASP.NETは、Windowsフォームの感覚でイベントドリブン駆動なWeb開発が可能なWeb Formsというフレームワークしかなかったのですが、後々にMVCという別のフレームワークが登場してきました。

 

ここで、ASP.NETでWeb開発をする場合に両者をどう使い分ければいいかASP.NETに無知な初心者は困ってしまうわけで、ASP.NETのプロフェショナルである諸先輩の情報を参考にASP.NET初心者の私が理解できる言葉でまとめてみました。

まず、結論からですが両者の使い分けのポイントは下記の通り。

・Web FormsとMVCは(ほぼ)同等の機能を有しており対等な選択肢

・ASP.NETのセッション、キャッシュ、データアクセス等のASP.NETの基盤技術は一緒

・相互のメリット/デメリットを補完しあうフレームワークであり置き換えできるものではない

・生産性、パフォーマンス、デザイン等の要素を天秤にかけ使い分ければ良い

・Windowsフォーム開発経験者は、Web Formsの方が馴染みやすい。

・非.NET系のWeb開発経験者は、MVCの方が馴染みやすい。

・Web Formsは作業を進めながら学習が可能なのでASP.NET入門には向いている。

・将来性や最新のWebのトレンドや技術への順応性はMVCの方が優れる

 

また、Web FormsとMVCの違いを簡単に表にまとめてみました。

比較項目 Web Forms MVC
アプリの特徴 技術として安定かつ成熟している。
豊富なWebサーバーコントロールを活用した容易なDrag & Drop配置によるUI開発が可能。
機能や納期を重視したアプリ向き。
Jquery、Web API等のWeb技術を活用したWeb標準志向でHTMLベースでUIを開発する。
パフォーマンスやデザインを重視したアプリ向き。
また、テスト駆動開発向き。
用途 イントラネットサイト
業務アプリ
インターネットサイト
インターネット向けアプリ
開発スタイル イベント駆動型プログラミング MVC(Model-View-Controller)デザインパターン
入門し易い開発者 Windowsフォーム開発者 非.NET系Web開発者
要求される技術スキル Windowsフォーム
C# / VB.NET
Web技術全般(HTML, JavaScript, Ajax etc…)
C# / VB.NET
テスト 自動/単体(ユニット)テストが困難。
テスト用Webサーバー必須
自動/単体(ユニット)テストが可能。
テスト用Webサーバー不要
SEO(Search Engine Optimization)対策 ×
適した移行元 VB 6.0/Windows フォーム HTMLページ、Class ASP

 

※本内容をまとめるにあたり以下を参考にさせて頂きました。

第0回 Webアプリケーション・フレームワークの新たな選択肢

http://www.atmarkit.co.jp/fdotnet/aspnetmvc3/aspnetmvc3_01/aspnetmvc3_01_01.html

Web フォームと ASP.NET MVC を比較する

http://msdn.microsoft.com/ja-jp/magazine/dd942833.aspx

Web フォーム vs. MVC

http://blogs.msdn.com/b/chack/archive/2013/01/16/aspnet-webforms-mvc.aspx

Read More

ASP.NETのホスティングサービス

ASP.NETのホスティングサービスを少し調べてみました。

ASP.NETのホスティングサービスは、充実しているLinux系のホスティングサービスに比べそもそも種類が少なく料金は割高です。その中でも比較安価で利用可能な独自ドメインが利用できることホスティングサービスをまとめました。

 

Windows Azure

Microsoftが提供するクラウドサービスです。

Windows Azureは多くのサービスを提供しているのですが、その1つとしてWebサイト機能があります。

Microsoftが提供する機能なのでもちろんASP.NETのホスティングはサポートされ、Visual Studioを利用した開発環境に適しているといったメリットがあります。

また、年々進化するASP.NETや.NET Frameworkの最新テクノロジーをすぐに試す、運用できる環境を提供しているというのも他にはない大きなメリットだと思います。

WebSite機能には、無料/共有/占有の3つの種類があり、独自ドメインを利用するには少なくとも共有を選択する必要があり月額にして約800円。

個人的には最新環境でのホスティングの確認として無料のプランの方が気になったりもします。

Windows AzureのWebSite機能に関する料金の詳細は以下参照。

http://www.windowsazure.com/ja-jp/pricing/details/web-sites/

 

Express Web

ASP.NETのホスティングサービスを探しているとExpress Webを一押しするサイトが一番多かったです。

理由としてはなんといっても250円(税抜)/月というLinux系サービスにも引けを取らないコストパフォーマンス。

SSLやSendMain等の機能が使えないと不便な面もあるようですがそれらを利用しなければ一押しです。

2014年9月現在、ASP.NET 4.5, MVC4までサポートされています。

 

ActiveWeb

500円(税抜)/月と料金面ではExpress Webに次ぐ料金設定です。お財布には優しい感じです。

ただ2014年9月現在、ASP.NET3.5までしかサポートされていないようです。

 

SOMEE.COM

海外のホスティングサービスです。

サイトを見てみると最新のテクノロジーをどんどんサポートしているようで、国内のホスティングサービスよりも良さそうな感じです。

独自ドメインが利用できる「Windows hosting」というプランは7.95$/月とWindows Azureとほぼ同等。

「Free .Net Hosting」というプランも提供されており、毎月5アクセス以上が必要であったり独自ドメインが利用出来ないという制限はありますが、無料で利用できるASP.NETのホスティングサービスという面では希少だと思います。

Windows Azureがなければホスティングサービスの候補になっていたかもしれません。

尚、海外のホスティングサービスなので説明やコントロールパネルは英語なので英語苦手な人には避けた方がいいかもしれません。

 

いろいろ調べた結果、Windows AzureとExpress Webの2つが良いのではないかと思います。

最新のASP.NETを利用したい、スケールアウト柔軟性を確保したいということであればWindows Azure、

個人サイトやコストパフォーマンス重視であればExpress Webを選択するのが良いのではないかと思います。

Read More