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 ;-)

Zaradené do: , , , ,

Komentáre

# vlko said:

nebolo by jednoduchsie nainstalovat si virtual pc nainstalovat do neho si nainstalovat ubuntu a mono uz len ako package, ja to mam tak a bezi to v pohode, momentalne som to sice 8 mesiacov nepouzival, naposledy, ked konecne monodevelop zacalo mat gui navrhoveho klienta.

No a takato instalacie je iba jednoducha click and use:)

Sunday, July 01, 2007 8:47 PM
# T said:

Voci gustu.. ;-)

Sunday, July 01, 2007 11:44 PM
# duracellko said:

vlko.. tebe sa podarilo nainstalovat ubuntu na virtual pc? ja som sa tiez chcel hrat s monom pod linuxom, ale ked som spustil ubuntu na virtual pc, tak mi tam nefungovala myska.. a kedze nie som linuxak, tak pomocou klavesnice som to ovladat nevedel. vies mi povedat, ci si ty mal nejake problemy s ubuntu na virtual pc a ako si ich riesil?

aj ked momentalne sa s tym asi nebudem hrat, lebo mam na disku image VS 2008 a linuxovy image sa mi na disk uz asi nezmesti.

Monday, July 02, 2007 8:39 AM
# skippo said:

duracellko: ak ti nainstalovany linux velmi nevonia a nemas sa nim cas zaoberat, skus live distro s monom:

http://www.mono-live.com/

Zatial je tam len Mono Framework 1.1.8.3, ale casom..

A vobec, pri live distro mas moznost uchovat state na disk, takze by si mal byt schopny doinstalovat si co treba.

ASpon pre mna lepsie ako Virtual PC.

Monday, July 02, 2007 2:02 PM
# skippo said:

Porovnanie VSExpress a SharpDevelop-u je naozaj fajn, nesledujem jeho vyvoj ale napr intergrovany debugger ma prekvapil. Fakt dost dobry soft. Musim sa s tym viac pohrat, vyzera to lepsie ako VSExpress.

Monday, July 02, 2007 2:09 PM
# T said:

Ja som realista, mam z toho SharpDevelopu "spartansky" pocit, napr. chyba editor/intellisense pre css, nenasiel som taky plug-in, ale na druhej strane existuje uz dost uzitocnych pluginov, ktore presauju zaber express editions.(Express edition...maju zakazane pluginy).

Napr. uz len otravne buidlovanie libiek cez commandline alebo pri web developmente to rozdelit do dvoch sln a jeden editovat v C# Express a druhy vo Web express je tiez otravne.

Monday, July 02, 2007 2:27 PM
# skippo said:

Cakal som, ze argument "chyba mi intellisence pre css" niekto pouzije :-) o rok si budeme nadavat, ze to nema JS debugger. Kde su tie casy, ked nebolo intellisence a programatori pisali kod v txt mode 80x25.... nedavno som cital pekny clanok o tom, ako intellisence vymyva mozog. Vidim to sam na sebe, napriklad prave pri spominanom JS, kde intellisence doposial chyba (ach orcas), pisem metody "akosi viac z hlavy -- a lahsie". Jasne, ze bez intellisence sa v .NETe nepohnes, ale mnoho ludi si uz bez ctrl+space nevie programovnie predstavit a nepamata si nazov funckie alebo triedy. Preto som automatickemu zobrazovaniu intellisence dal navzdy zbohom a zobrazim si ho manualne ak ho naozaj potrebujem.

Na to, ze je to opensource a nie je zatazeny kadejakymi licenciami ako M$ (vid MSExpress a moznost tvorby pluginov donho) je velmi fajn, musim sa s nim skamaratit a na vyvoj vlastnych, nefiremnych projektov je to volba #1.

Monday, July 02, 2007 4:42 PM
# skippo said:

Sorry VS Express :-)

Monday, July 02, 2007 4:44 PM
# T said:

Je to argument o produktivite predovsetkym, sam vidis, ze ja s pouzivanim SharpDevelopu problem nemam resp. nie som MS bigot, ale klapky si zase nenasadim :-)

a "vymyvanie"...okolo teba 5 ludi, ktori davaju cez rameno otazky ...typu..aku property/metoda/trieda pouzit...tak nehrozi... :-))

No ten intellisense nie je pri par funkciach v JS az taky kriticky, ale aj tak dufam, ze zartujes, ze sa Ti tak funguje lepsie :-)) + vypnute automaticke zobrazovanie intellisense - Ty si masochista :-))

Ale pod ten zaver sa podpisujem ;-)

Monday, July 02, 2007 5:28 PM
# vlko said:

problem s linuxami vseobecne vo virtual pc, je, ze virtual pc zobrazuje iba 16 bitove farby, kdezto standardne sa v linuxe naistaluje 24 bitovi rezim, ale nie je nic jednoduchsie, pretoze zmenit to je len zmena v jednom textovom subore:

vid napr:

help.ubuntu.com/.../HowToConfigureUbuntuForMicrosoftVirtualPC2004

alebo v prijemnom jazyku:

zahradil.info/.../linux-ve-virtual-pc.html

Tuesday, July 03, 2007 8:27 AM
# skippo said:

T: "ten intellisense nie je pri par funkciach v JS az taky kriticky"

No tak s rozmachom web 2.0 a asynchronnych volani zacal byt dost. Teraz kodim jednu gamesku skoro cisto v JS, a pri tych objektoch, ktore mi tam bezia by si jeden povedal, ze preco nemam intellisence. Ale postupuejm rovnako dobre aj bez toho. Pravda, nie je to velky projekt a vymyslam ho sam....

.....add: tych tvojich 5 ludi nedokaze pracovat samostatne a robia to co si napisal, tak ti ten team nezavidim ;-)

..masochista.. hmto nie, kym niekomu kto napise prve 2-3 znaky a potom sipkami sa dopracuje ku funkcii tak ja meno metody  naklepem IMO rychlejsie. Pripomina mi to windows userov (klavesnica + mys vs 'klasickych' konzolovkarov: pure keyboard). Ty ako ostrielany programator sa uz asi nevies vzit do role beginnera :-) ale ja to viidm na parttimistoch, ako si 'sipkuju'. :-)

btw: predsa len existuje ctrl+space a viem byt taky rychly ako VS pri zobrazeni :-))

vlko: nemal som tu cest s VMware, ale na nieco serioznejsie by som asi siel tou cestou. v praci su s tym kolegovia spokojni. Kto vie pre ake performance dovody sa autori virtual pc rozhodli dat toto obmedzenie. VEd to nie je remote desktop :-)

Tuesday, July 03, 2007 9:25 AM
# T said:

"web 2.0 a asynchronnych volani zacal byt dost"

ja som ajax skepticky clovek :-) ale v tomto smere mas pravdu

"tak ti ten team nezavidim"

preco, niekedy je rychlejsie opytat sa cez plece aj ked zase to niekedy vyrusuje...

ups...a teraz si ma dostal, ja pouzivam len ctrl+space tiez :-))

Tuesday, July 03, 2007 11:26 AM
# skippo said:

"preco, niekedy je rychlejsie opytat sa cez plece aj ked zase to niekedy vyrusuje..."

-- presne nad tymto rozmyslam poslednu dobu, ako supportovat napriklad novych vyvojarov, parttimstov a pod. aby som nemusel cely den odpovedat na ich otazky.. a dopracoval som sa ku 'konzultacnym hodinam' :-) Na zaciatku alebo na konci dna :-) Takto je aj vlky syty aj koza cela. Uz len to aplikovat do praxe :)

Tuesday, July 03, 2007 1:16 PM
# T said:

No neviem veduci, aby sa ti nestalo, ze na konci dna zistis, ze zastali rano na nejakej malikosti...ktoru Tebe trva vyriesit minutu resp. usmernit a on vnima ako neprekonatelny problem...jedina vec je naucit efektivne hladat, ale aj tak niektore klucove veci efektivnejsie vysvetlis osobne...nepomozes si...

Friday, July 06, 2007 10:18 PM
Prihlásiť | Registrovať | Pomoc