måndag 31 mars 2008

Sammanfattning av fördjupning i ASP.NET 2

En sammanfattning av min fördjupning i ASP.NET 2.

Om vi kort går igenom så tittade jag på 3st olika Open Source kits, applikationer. Dessa var:

Media Share Library Starter Kit Ett Kit som är främst tänkt till och för nybörjare i ASP.Net. Tanken bakom denna applikationen är riktat till en mindre grupp eller större grupp av människor där man kan enkelt dela med sig av olika media format så som DVD, spel, musik osv.
Alltså fungerar den som ett riktigt medie bibliotek där man lånar ut saker till varandra.

Umbraco Ett content management system (CMS) och på svenska ett webbpubliceringssystem där man har ett webbadministrationssystem av typen WYSIWYG (What You See Is What You Get).
DasBlog. Vars funktionalitet är tänkt att fungera som ett blog verktyg. Det är från grunden uppbyggt på Open Source webb applikationen BlogX fast nu med förbättrade funktioner.

Det 4'e och sista skippade jag då jag hade ont om tid att kunna färdigställa utvärderingen. Detta var Yet Another Forum, En forums applikation.

Mycket fokus har legat på att kunna se möjligheter att själv bygga ut vidare på applikationerna själv. Detta är mycket viktigt då det kanske inte finns allt man önskat sig i applikationen men själv kan implementera på ett någorlunda smidigt sätt. Funktioner i applikationerna har tagits upp. Installations svårigheter. Dokumentation. Exempel.

Jag tycker det har funnits goda möjligheter till att bygga ut dessa applikationer vidare oavsett om man har käll koden eller inte. Vilket jag för övrigt inte gick igenom då, förutom Media Share Libary vilket levereras i endast en version. Det lättaste är att bygga ut med egna kontroller som inte berör själva kärnans kod. Ifall man måste implementera funktionaliteten från sin egen kontroll till ex en utbyggnad av en del eller flera delar av den befintliga koden som fanns vid leverans så kan det bli lite besvärligare. Då de levereras oftast inkapslat code behind filerna. Det kan vara en god idé att kanske arbeta från källkoden om så fall skulle behövas.

Även om nu det har funnits möjlighet till att bygga ut så har det inte alls varit det lättaste. Först måste man sätta sig in i ett nytt tänkande och hur just de specifika systemet fungerar. Man försöker lära sig ut ifrån dokumentation men dessa har i alla fall varit väldigt bristande och inte alls täckande. Det verkar vara över lag så att Open Source applikationer har mycket bristande dokumentation. Detta gör naturligtvis för en ny programmerare att sätta sig in i applikationen mycket svårare oavsett om man tänkt använda sig av det eller fortsätta utveckla. Vad jag kan tycka så brister det mer på dokumentation i fall man väljer att arbeta från källkoden. Vad som behövs göras för att komma igång. Det har funnits ibland Forum för hjälp vilket naturligtvis är bra men det är inte hållbart i längden att man ska behöva fråga gång på gång om hjälp hur man skall sätta sig in. Bara att kunna sätta sig in i en applikation kan vara ett väldigt stort projekt. Inget man räknar med att kunna efter en dag direkt.

Det kan kännas som en del funktioner i applikationen är halv färdiga eller inte har nått ända fram till vad de optimalt skulle kunnat fungera som. Man kan ta till hänsyn då att det kan ha varit någon utvecklare som inte lyckats ända fram eller möjligen hoppat av och funktionen blev inte fullbordad men den fungerade i alla fall.

Installationer av de Open Source kits, applikationer jag har gått igenom så har det inte varit några större problem att installera dem. Det har gått väldigt smidigt får jag nog säga. Men åter igen om det skulle handla om käll koden och inte installations versionerna så hade det nog inte alls varit lika lätt detta pga bristande dokumentation av installation. Det är en stor fördel att installationen går smärtfritt då om det inte skulle göra det med oväntade fel kanske det resulterar i att man inte alls kommer köra applikationen för man tycker den känns opålitlig om man nu lyckas installera den.

Och åter igen så har dokumentationen för dessa 3 varit väldigt dålig. De har antingen varit gammla för äldre versioner och utgått. Eller så finns det varianter som är halvt dåligt skrivna, difusa, dåligt förklarade. Och vissa som inte ens är fullbordat. Det känns som det saknas mycket dokumentation över kristiska bitar för en utvecklare att sätta sig in i koden. Dokumentation är bland det viktigaste i ett Open Source för att nya programmerare skall kunna sätta sig in i koden. Ett mardröms exempel för mig skulle ha varit om det inte fanns någon dokumentation alls till Drupal i PHP. Vilket hade varit en omöjlighet då. Jag tror ändå Umbraco var någorlunda så förklarande efter att man tittat igenom sektionerna och möjligheterna för en programmerare men detta skall och får givetvis inte tas som en självklarhet att det skulle vara så. APIt till Umbraco kändes väldigt bra dokumenterat däremot men mindre användbart däremot. Till Media Share Libary fanns det väl inte riktigt någon dokumentation. En artikel kunde man läsa däremot på MSDN om just Media Share Libary men å andra sidan så är applikationen väldigt liten.

Tittar man på funktionalitet mellan Umbraco och dasBlog så har vi sett att det finns en hel del likheter mellan dem. Dels att båda använder templates och macron. Dessa båda har samma syfte i båda applikationerna. En macro hämtar och renderar ut innehåll åt en template som sedan levereras. Möjligheter att göra det mesta finns i båda men det begränsas till en viss del om man inte arbetar mot källkoden och inte den installerade. Först då har man full kontroll.

Jag hade även några frågor som jag hade ställt mig själv i början för denna förjupning.

Hur fungerar open source i asp.net?
Funktionsmässigt så skiljer det sig inte på något sätt än vad man är van annars att arbeta med kod. Det är just strukturen i en open source applikation och tanke sättet som skiljer sig från hur man annars kan vara van att programmera i asp.net. Oftast levereras dessa inkapslade men detta för att det ska vara lätt att distribuera och hålla intakt.

Är open source applikationer i asp.net något som vi kommer se mer framöver?
Jag tror att vi kommer göra det. Främst för att det är lätt att tillgå, det är oftast gratis, det är många utvecklare kring det, det har blivit mer och mer populärt, många tillämpnings områden.

Hur bra fungerar open source i asp.net?
I stora drag så fungerar Open source applikationer inte mer annorlunda i asp.net än vad det skulle kunna göra i PHP. Det fungerar minst sagt lika bra.

Är open source kitten för alla?
Jag tror det finns en tillämpning som passar de flesta och de är smidiga att komma igång med. Till skillnad från en stängd källkod kan du aldrig själv vidare bygga ut utifrån den vilket gör dig helt begränsad till det du har. Det blir du inte i öppen källkod.

Jag tycker att vi skall börja se vad vi har för möjligheter idag med nuvarande open source innan man själv börjar skapa något större. Det finns faktiskt möjlighet där ute som reda är klara och kanske väl beprövade. Det kan spara en mycket tid. Det behöver inte heller vara en stor hel applikation utan det kan faktiskt bara handla om en viss del ut av en applikation som man vill ta del av till sin egen. Jag kan mycket väl själv tänka mig överväga att använda open source applikationer eller i alla fall delar ut av dem.

3 kommentarer:

Anonym sa...

Hej Joel,

det var en trevlig sajt du hade. Hoppas du postar lite mer snart.

Open source är för mig nästan ett måste. I mina projekt handlar det ofta om integration med andra system och det är därmed väldigt ofta man behöver skruva på saker.

Anonym sa...

Min erfarenhet av YetAnotherForum är INTE goda. Riktigt ful kod som är nästlade med presentationen och många, många buggar gör att applikationen till en början fungerar men formligen havererar efter en tid. Om du dessutom gör modifieringar i den så är du ute på djupt vatten ;-)
Så du gjorde rätt i att skippa den.

Anonym sa...

Ett annat tips till en bra Open-Sourcekomponent är daschCommerce. En webbshop som fungera bra.