E-post: info@wipcore.se ![]()
Kilsgatan 4, SE-411 04 Göteborg, Tel: +46 (0)31
762 30 00
Tel: +46 (0)8 410 928 50
| MVC != MödraVårdsCentralen
Det senaste inom webbutveckling på ASP.NET-plattformen heter MVC och för er som inte snackar C-syntax till vardags så framgår det av rubriken att det inte står för Mödravårdcentralen, utan är en akronym för Model View Controler. Mycket mer tekniskt än så blir inte den här artikeln så för er som fortfarande är med tänker jag försöka förklara på ett enkelt sätt vad som är så mycket bättre med MVC jämfört med det traditionella sättet att bygga webbapplikationer med ASP.NET Web Forms. Det gamla funkar ju, eller?För att kunna blicka framåt ska vi först se över axeln på det tidigare arbetssättet med plattformen ASP.NET Web Forms. Den här plattformen har dryga 10 år bakom sig och togs fram utifrån Visual Basic och den designfilosofi man hade då. Ett mål var att abstrahera bort det tillståndslösa HTTP-protokollet genom att lagra tillståndet krypterat inne i sidan. Exempel på detta kan vara ifylld formulärdata, menydata men alltför ofta är hela sidans dynamiska innehåll lagrat. Det här gör att sidorna ofta blir väldigt tunga då de skickas fram och tillbaka mellan användaren och servern. Detta beror egentligen på dåligt programmerade sidor, men det är lätt att göra detta misstag vilket leder till ett långsamt system. Med dagens snabba datorer och bredbandsuppkopplingar upplevs inte alltid detta som ett problem, men med en mobiltelefon är det väldigt märkbart. Den mobila webben är på stark frammarsch och vi bör nu mer än nånsin tänka på att hålla sidorna lätta. Ett annat problem var att man inte hade full kontroll över
presentationslagret som ju på webben byggs med HTML. Sidorna byggdes upp med
ofta väldigt grovhugna byggstenar och mycket av tiden gick åt till att anpassa
htmlkoden till den kod som byggstenarna spottar ur sig. Detta gjorde det svårt
att samarbeta med rena gränssnittsdesigner som ju inte har någon vetskap om vad
för kod WebForms-kontroller genererar. Den här energin bör man i min mening
istället lägga på att bygga egna kontroller som gör det man vill men i strävan
efter att ”få funktionalitet gratis” med färdiga kontroller, biter man sig i
svansen när de inte beter sig som man vill. Web Forms har fördelen att det går snabbt att utveckla i. Det är lite som att bygga ett hus i LEGO med många färdiga bitar i olika storlekar. Man behöver inte riktigt förstå hur det funkar för att kunna bygga ett ganska imponerande hus men resultatet blir ganska kantigt utan full kontroll. Vad är då MVC?MVC står för Model View Controler och grundar sig på ett designmönster som snart har 30 år på nacken, men är definitivt fortfarande ett lika aktuellt sätt att bygga sina applikationer efter. Under 2007 satt Scott Guthrie på ett flyg till Barcelona för att prata på Microsofts årliga utvecklarekonferens och under flighten tog han fram det första embryot till ASP.NET MVC. I dagarna släpper Microsoft MVC i en skarp version 2 och MVC börjar kännas tillräckligt moget för ett teknikbyte för många. MVC står för Model-View-Controller där man delar upp en applikation i tre olika delar. V står ”View” och är vårt presentationslager. C står för Controller och denna tar emot förfrågningar från klienten (webbläsaren) och svarar med vilken vy som ska rendera gränsnittet. För att det skall finnas något meningsfullt och dynamiskt i vyn behöver den fyllas med data. M är den sista biten i pusslet; Modellen. Modellen fylls med allt som är unikt för den specifika sidan. Detta kan i en ehandel vara till exempel innehållet i varukorgen, information om den inloggade användaren och rådata till vänstermenyn. Med ett sådant här tydligt uppdelat ansvar blir det enkelt för Controllern att istället för att returnera en vanlig vy, returnera en mobilanpassad variant. Samma Controller och samma data (Model) används fortfarande medan det bara är presentationen (View) som skiljer sig. Samma URL kan då ge olika vyer beroende på om det är en vanlig mobil, iphone eller en dator man använder. Om styrkan med Web Forms är produktivitet så är definitivt styrkan hos MVC kontroll. Kontroll över allt från HTML till URLer. Detta gör också att det ställer högre krav på utvecklaren då det till exempel inte finns några färdiga AJAX-kontroller som man hystar in i sidan utan AJAX-anrop får ”handkodas” med det ramverk som användaren känner sig hemma med. En fördel här är ju att man kan dela och ta till sig lösningar av utvecklare på andra plattformar med välkända ramverk som till exempel jQuery. Nackdelen vi märkt av är ett avkall på produktiviteten och detta i kombination med utvecklare som är relativt nya på plattformen gör det nödvändigt att räkna med lite längre utvecklingstid på MVC-projekt jämfört med Web Forms. Vinsten vi får är kontroll, så kallad ”Separation of Concern” där varje del i systemet får en entydig uppgift. En effekt av detta är att MVC är testbart på ett mycket enklare och mer omfattande sätt. Den som vill höja kvaliteten och minimera antalet buggar genom att jobba testdrivet är definitivt MVC något att titta på. På sista raden får man en långsiktighet som jag vågar säga kommer att betala sig under applikationens livstid.
eNOVA + MVC = Web Foundation /Yann Hervy, Wipcore
Yann
Hervy 2010-03-24 |
| SKRIV KOMMENTAR | ||
| FLER ARTIKLAR | ||
| Grattis alla ni som konkurrerar med Media Markt! |
| Media Markt ligger lågt med sin e-handel. Visst känns det lite märkligt att ett så stort och i andra sammanhang modernt företag låter en intern kanalkonflikt styra den övergripande strategin. Det låter nästan som att deras strategikonsult heter Ines Uusman, ni vet hon som sa att Internet bara är en fluga... |
| Ser du möjligheterna med e-post och sociala medier? |
| Hur kan ni få ut mer av alla högtoder under den kommande säsongen med hjälp av e-post och sociala media? Vi ska titta på några konkreta exempel. Kanske någonting i dem kan passa just er verksamhet. |
| Paketerat och klart om hjärnan själv får välja |
| Kunden i fokus och kunden har rätt. Det gäller såklart också inom e-handel. En stor del av arbetet med att optimera en e-handelslösning och öka sin konvertering görs med utgångsläge att underlätta för kunden att göra det som DE vill göra i din e-handelslösning. Men egentligen är du ju mer intresserad av att jobba mot att få dina kunder att vilja göra det som DU vill att de ska göra. För att komma dit måste vi förstå hur kunder och besökare fungerar och nå dem på alla plan, såväl instinktiva som emotionella och logiska. |
| En Affiliates bekännelse – 5 Framgångsfaktorer för affiliateprogram |
| Det som skiljer framgångsagorna från sorgebarnen är främst bristande insyn i hur publishers(affiliates) arbetar, motiveras och ett tydligt starkt värdeerbjudande. Tanken med denna artikel är att överbrygga gapet mellan e-handlare och publishers. |
| Glöm enstaka köp – skaffa stamkunder |
| Att jaga nya kunder kostar pengar och mycket arbete. Att behålla en kund är kostnadseffektivt och genererar mervärden för företaget. Ändå så handlar nästan alla tips och undersökningar inom e-handel hur man ska maximera enstaka köp. Det tycker jag är konstigt. |
| Vilka svenska e-handlare har den bästa kundupplevelsen? |
| I årets Mystery Shopper undersökning har vi tagit fram ett index på vilka e-handlare som erbjuder den bästa kundupplevelsen. Resultatet visar att svenska e-handlare bygger bra sajter där de centrala sidorna ger ett bra intryck men jämfört med de amerikanska sajter som testats i motsvarande rapport i USA finns det inom flera områden mycket att hämta. |
| Få bättre och gladare besökare från Google |
| Trafiken från Google är så viktig att det är värt att på alla sätt försöka kontrollera hur sökresultaten i Google ser ut. För de flesta etablerade e-butiker är sökning på sajtadressen den dominerande. Amazons viktigaste sökord är förmodligen amazon eller amazon.com. Det låter ologiskt men många människor använder Google som ett adressfält. Hur drar jag nytta av den kunskapen? |
| Chefer! Skickar ni ”sjuka” mail? |
| E-post är en kanal som lätt kan missuppfattas eftersom du förlorar mimik, ögonkontakt, gester och allt det som gör att du förstår precis vad avsändaren menar. Är det en lämplig kommunikationskanal att använda mellanledning och anställd? Och hur ska den i så fall hanteras? |
| Det är en konst att ta betalt |
| Hur ofta är det som en kund inte slutför ett köp i fysisk butik pga att det är för krångligt att betala? Acceptans för krångel tror jag faktiskt är större i fysisk butik då alternativet är att leta upp en ny butik som har samma vara, vilket är krävande. På nätet å andra sidan är det bara att googla en vara och 2 sekunder senare finns en massa alternativ. Därför måste e-handlare bli bättre på att göra det lättare för kunden att betala. |
| I en webbutik kan ingen höra dig skrika... |
| I en vanlig butik är det enkelt att se när kunder irrar omkring utan att hitta. Det är också lätt att se vilka kunder som behöver hjälp och kunder som blir frustrerade hittar (förhoppningsvis) en person som kan hjälpa kunden tillrätta. I en on-line butik är det lite svårare. Här är kunderna anonyma och dessvärre är säljaren också anonym och allt för ofta helt frånvarande. |
| Varför har svenska e-handlare försäljningsskräck? |
| Årets Mystery Shopping undersökning visar att svenska e-handlare inte alls utnyttjar sina kusnkaper om merförsäljning från fysisk butik i sin e-handel. Är det rädsla, okunskap eller brist på resurser som hindrar svenska e-handlare från att smida medan järnet är varmt? Vad kan du göra, redan idag? |
| Bli vän med ditt Javascript - del 2 |
| Efter första artikelns övergripande information går vi in på hur du får struktur på din lösning. Ett sätt att få struktur är att ha ett objektorienterat tillvägagångssätt. |
| Skulle du kunna tänka dig att använda Facebook som kundtjänst? |
| Sett ur ett kundserviceperspektiv kan Facebook och andra sociala möteplatser fungera somm ett väldigt effektivt verktyg där du får minst lika mycket värde tillbaka till företaget som du ger dina kunder. |
| E-handel - ärligt talat |
| Det pratas mycket om hur viktigt det är att vara transparent och ärlig. I de sociala nätverkens kölvatten kan inga misstag eller skavanker döljas. Det kan tyckas skrämmande att överhuvud taget driva försäljning idag när så stor del av makten förflyttats till slutkonsumenten. Hur ska du som e-handlare hantera detta och vad har du att vinna? |
| Bli vän med ditt Javascript |
| Vi som webbutvecklare har ofta ett tveeggat förhållande till JavaScript. Å ena sidan är det något man förväntar sig av en modern webbapplikation, men å andra sidan upplevs det ofta som svårt och jobbigt att göra JavaScript funktioner riktigt bra och återanvändbara, åtminstone i jämförelse med server-side programmering. Idag har JavaScript blivit en självklar del av varje webbprojekt och det har, rättmätigt så, fått ett bättre anseende. Så vad har hänt? |
| Förvandla övergivna kundvagnar till beställningar med e-post |
| Har du koll på hur många av era kunder som överger kundvagnen i er e-handelsbutik? Du kan faktiskt hämta hem en del av de kunderna och hjälpa dem slutföra köpet. Lösningen heter ”reaktiveringsmail”! Reaktiveringsmail innebär att du återupplivar prenumeranten på något sätt. Det kan vara att du vill att kunden ska reaktivera sin övergivna kundvagn eller att de ska bli aktiva prenumeranter till ditt nyhetsbrev igen. |
| Tänk efter innan du tar beslut... eller? |
| Som e-handlare så har du förmodligen byggt dina flöden och formulär så att de har förvalda värden utifrån vad du "vill" att dina kunder ska välja. Men hur fungerar dina besökare egentligen? |
| Effektiv hantering av produktinformation ger ökad försäljning |
| ett system för Product Information Management som förkortas PIM, eller produktinformationshantering på svenska. Ett sådant systemstöd hjälper till att samla, förädla och kanalisera produktinformation till alla kanaler på alla språk samtidigt. I många fall kan ledtider kortas med 50-90% och kostnaderna reduceras lika mycket. Viktigast är dock att det går att hantera, och därigenom sälja, flera produkter i flera kanaler på flera språk, samtidigt |
| Hårdare press på handlare på grund av e-handel |
| Siffror från Jupiter Research och Shop.org visar att konsumentbeteendet förändras. Konsumenterna ställer i större och större grad krav på de olika handlarna att de ska finnas på nätet. Konsumenterna blir mer och mer multikanal och därför måste även handlarna tänka mer och mer multikanal. Jag tror därför att handlarna underskattar e-handelns kraft och konsumenternas beteende på en rad områden. |
| Underhåll av en e-handelslösning! |
| Många ställer sig frågan behöver man verkligen underhålla en e-handelslösning, när den väl är lanserad så ska väl allt bara flyta på? Verkligheten och framförallt it-tekniska lösningar är dock komplexare än så. Det finns många utomstående system och faktorer som påverkar och interagerar med en e-handelslösning, exempelvis affärsystem, PIM system, kundhanteringssystem, betalväxlar, integrationer och 3:e partslösningar. Förändringar i dessa system påverkar ofta också e-handelslösningen. |
| Tro inte att du vet allt från början |
| Efter mer än 20 år i IT-branschen så förundras jag över hur lite vi har lärt oss. Vi säger att utvecklingen går snabbt framåt, ändå gör vi i många avseenden precis lika stora misstag som för 20-30 år sedan. När jag säger "vi" så menar jag Er kunder och Oss leverantör tillsammans. Om vi tittar närmare på arbetet med att välja rätt e-handelsplattform så skulle jag vilja ge er tre goda råd. |
| Hur säljer ni med mobilen som kanal? |
| Enligt trendrapporten e-barometern Q4 som HUI, Posten AB och Svensk Distanshandel tagit fram kan man se att mobilen blir allt viktigare för B2C-företag. Fler konsumenter har börjat använda mobilen när de handlar varor på distans. Jämfört med 2008 så har handeln via mobiltelefonen ökat med 2 procent. Redan om 5 år, det vill säga 2015, förväntas försäljning via mobilen motsvara 8 % av den totala e-handelns omsättning globalt. Det gör att försäljningen över mobilen kommer att omsätta runt 119 miljarder dollar 2015. Har ni råd att missa att ta en del av den omsättningskakan? |
| E-handel i mobilen – Bokus vs. Adlibris |
| Att använda en iPhone-applikation för att driva försäljningen sträcker sig långt länge än enbart bokförsäljning. Det Bokus gör genom att integrera riktiga butiker och mobil är ett skolexempel på hur man kan och ska utnyttja den mobila kanalen som försäljningskanal. |
| Sluta skicka enbart ”säljande” nyhetsbrev så ökar du din försäljning via e-post! |
| I den här artikeln ska vi titta på två sätt som hjälper er att bygga en bättre relation till era läsare och som kommer att öka er försäljning både på kort och på lång sikt. En stabil långsiktig relation där era kunder blir trogna e-postkunder. Det är dels kvalitén på innehållet i era brev och dels vem som är mottagare till de olika typerna av breven. |
| MVC != MödraVårdsCentralen |
| Det senaste inom webbutveckling på ASP.NET-plattformen heter MVC och för er som inte snackar C-syntax till vardags så framgår det av rubriken att det inte står för Mödravårdcentralen, utan är en akronym för Model View Controler. Mycket mer tekniskt än så blir inte den här artikeln så för er som fortfarande är med tänker jag försöka förklara på ett enkelt sätt vad som är så mycket bättre med MVC jämfört med det traditionella sättet att bygga webbapplikationer med ASP.NET Web Forms. |
| Trender inom e-handel B2B |
| Under de senaste åren har e-handel mellan företag, även kallad B2B e-handel, utvecklats avsevärt. Denna typen av e-handel har funnits i många år och var under första halvan av 2000-talet den e-handel som utvecklades snabbast om man ser till omsättning. På den tiden var det effektiviseringskrav som var den huvudsakliga drivkraften som låg bakom utvecklingen. Under rådande lågkonjunktur har dock andra drivkrafter varit mer tongivande. Vilka? |
| Kunskap kan aldrig bli för stor |
| För att kunna sprida kunskapen fortare till fler på ett mer strukturerat sätt bestämde vi oss redan 2005 för att samla den viktigaste kunskapen och de människor den berörde på en gemensam plats och tidpunkt Resultatet var den första Stora E-handelsdagen och första upplagan av vår E-handelsguide, som då hette ”Wipcores lilla blå – Den lilla boken om den stora e-handeln”. |