Mono, ASP.NET, SharpDevelop na Windows.
Dnes sa mi podarilo prepásť pekné počasie, ktoré sa konečne umúdrilo a tak som si vymýšlal relaxačnú aktivitu pri počítači popri čakaní na dopratie práčky dnes večer. S monom som sa už zapodieval v minulosti, ale ASP.NET som neskúšal. Keďže mono project urobil veľký krok dopredu vo vzťahu ku ASP.NET 2.0, bol som zvedavý, a možno hlavne na to, ako dlho bude trvať sfajnovenému developerovi, kým všetky Open Source technológie spolu spojazdní.
Mono
Windows inštalčku nájdeme na adrese
http://www.mono-project.com/Downloads . Súčasťou inštalácie je XSP, čo je lightweight web server, ktorý je schopný obslúžiť naše ASP.NET aplikácie. Zdrojové kódy su k dispozícii na domovskej stránke mono projektu. Je napísaný v C# a pobeží tak pod Mono runtimeom ako aj pod .NET runtimeom.
SharpDevelop
SharpDevelop je jediná dôstojná alternatíva ku Visual studiu. Inštalačku stiahneme odtiaľto. Mne osobne tam z pohľadu malých ASP.NET projektov nechýba nič zásadné, ale pre komplexné porovnanie vymožeností SharpDevelopu a Visual Studio Express Editions odporúčam tento článok.
Po inštalácii vytvoríme nový projekt typu ASP.net webpage project. Súčasťou projektu sú nejaké sample stránky. Jediné, čo musíme teraz urobiť, je vynútiť si komplikáciu monom. Na roote projektu dáme right click a zvolíme properties. V "compiler" tabe nájdeme "taget framework" combobox a zvolíme ako cieľový framework Mono 2.0. To je všetko. Môžeme kompilovať.
Web Server
Prvý nápad bol rozchodiť ASP.NET s monom na IIS. Hľadanie ISAPI filtra na tento účel skončilo neúspechom s pár poznámkami na fórach, že neexistuje spôsob ako to rozchodiť pod IIS. Druhý nápad bol samozrejme Apache. Na stránke mono projektu som sa dočítal hneď, že mod_mono na apachy nerozchodím, ale s linkou na aletrnatívny patch mod_mono modul pre Windows v progresse. Inštalačný postup korešponduje s tým, ktorý je odporúčaný pre mod_mono na apacha na linuxe.
Najjednodušie, a asi aj najspoľahlivejšie riešenie, je však použiť už spomínaný XSP web server. Spustíme command line, nájdeme root našej webovej aplikácie vytvorenej v SharpDevelope (defaultne v C:\Documents and Settings\UserName \My Documents\SharpDevelop Projects\Test). Následne spustíme XSP server (defaultne C:\Program Files\Mono-…\bin\xsd2.bat). Mali by sme vidieť niečo takéto:
xsp2
Listening on port: 8080 (non-secure)
Listening on address: 0.0.0.0
Root directory: C:\Documents and Settings\UserName\My Documents\SharpDevelop
Projects\Test
Hit Return to stop the server.
Takže XSP počúva defaultne na 8080 porte. Už len browsnúť cez prehliadať našu aplikáciu - http://localhost:8080/Default.aspx.
...a máme to za sebou.
Dobrú noc ;-)