Visual Studio LightSwitch: een intro voor ontwikkelaars

Begin 2011 heeft Microsoft de eerste beta van VS LightSwitch met Go-Live licentie gelanceerd, een nieuw product in de Visual Studio familie, waarmee razendsnel zowel web- als desktop SilverLight "Line of Business" applicaties kunnen worden gemaakt. Hoewel de doelgroep van VS LightSwitch niet primair bestaat uit ard-core .net developers, zal het ook voor deze groep zeker waardevol kunnen zijn om de mogelijkheden en beperkingen van LightSwitch te leren kennen.

Wat is Visual Studio LightSwitch

Visual Studio LghtSwitch is een nieuw product van Microsoft in de Visual Studio familie. Het zal als standalone product worden uitgebracht (ten tijde van het schrijven van dit artikel is de releasedatum nog niet vrijgegeven) en als zodanig worden gepositioneerd tussen Visual Studio Express (dat gratis is) en Visual Studio Professional (dat ongeveer €500 kost).
 
Voor gebruikers die al gebruik maken van Visual Studio Professional (of hoger), zal LightSwitch als project template in Visual Studio worden geïnstalleerd.
 
Afbeelding 1: LightSwitch als project template in Visual Studio

Flexibeliteit

Visual Studio LightSwitch is vooral goed in Forms-Over-Data business toepassingen. Het loodgieterswerk in de applicatie (waaronder schermnavigatie, autorisatie, communicatie met servicelaag, validaties, …) kan aan LightSwitch worden overgelaten. “Kán,” want op veel paatsen biedt LightSwitch de mogelijkheid om de functionaliteit van de applicatie aan te passen en uit te breiden. Hiervoor kan eigen code worden gebruikt, maar ook uitbreidingen die door andere ontwikkelaars zijn gemaakt. LightSwitch biedt ook de mogelijkheid om deze uitbreidingen te ontwikkelen en deze via de Gallery beschikbaar te stellen.
 
LightSwitch biedt de mogelijkheid om uitbreidingen van andere ontwikkelaars te gebruiken
 
Terwijl LightSwitch is gemaakt om de ontwikkelaar zo veel mogelijk werk uit handen te nemen, legt het de ontwikkelaar tegelijktijd nauwelijks technische beperkingen op. Feitelijk zijn de voornaamste beperkingen het kennisniveau van de ontwikkelaar zelf, en de beschikbaare tijd om tot een oplossing te komen (ofde bereidheid om die tijd te investeren).

Doelgroepen

Met LightSwitch mikt Microsft of verschillende niveaus ontwikkelaars:
1.    Basisniveau: de ontwikkelaar die nu misschien MS Access gebruikt om toepassingen te maken. Deze ontwikkelaar kan met de LightSwitch Designer prima uit de voeten om 90% van zijn toepassing te maken. De overige 10% zal bestaan uit relatief eenvoudige stukjes code op door LightSwitch aangegeven plaatsen, zoals speciale validatieregels. Hij zal gebruik maken van de data designer voor het ontwerp van zijn database, of zal een bastaande database gebruiken. Schermen maakt hij in de Schermdesigner en eventueel zal hij beschikbare uitbreidingen voor LightSwitch toepassen;
2.    Gevorderd niveau: de ontwikkelaar die wel aardig uit de voeten kan met VB.NET of C#, zal daarnaast in staat zijn eigengemaakte componenten (bijvoorbeeld voor business logica) te gebruiken vanuit zijn LightSwitch toepassing;
3.    “Expert” niveau: verder gevorderde ontwikkelaars zullen de extensionpoints van LightSwitch ten volle kunnen benutten door eigen SilverLight controls te maken en gebruiken en op anderepunten het uiterlijk en gedrag van de LightSwitch toepassing naar eigen hand kunen zetten.
Iemand met beperkte ontwikkelcapaciteiten kan met LightSwitch bijzonder goede resultaten halen.
 

Het licht inschakelen

Visual Studio LightSwitch helpt de ontwikkelaar heel snel op weg naar resultaat. Ik behandel hier kort de eerste stappen op weg naar een LightSwitch applicatie, wil je meer weten, kijk dan bij de links aan het einde van dit artikel.
 
Bij het ontwikkelen van een LightSwitch applicatie staat de LightSwitch designer centraal. Dat wordt al direct duidelijk wanneer een nieuw project wordt gestart (afbeelding 2).
 
Afbeelding 2: een nieuw LightSwitch project
 
Ook het Solution Explorer window is belangrijk in LightSwitch: deze wordt standaard geopend in zogenaamde “Logical View” en geeft dan de logische structuur van de applicatie weer in plaats van de fysieke bestanden.
 
Met behulp van de designer wordt eerst een DataSource toegevoegd aan het project. De entiteiten kunn in de Data Source Designer worden ingevoerd, maar er kan ook een bestaande datasource worden toegevoegd (zoals een SQL Server database, RIA Service) of SharePoint Site.
 
Vervolgens kunnen schermen aan het project worden toegevoegd. Voor een scherm is keuze uit verschillende templates, zoals detailscherm, zoekscherm en nieuwe invoer (Afbeelding 3).
 
Afbeelding 3: Een scherm toevoegen
 
Is een scherm eenmaal toegevoegd, dan blijkde LightSwitch Designer ook uitgerust met mogelijkheden om verregaande aanpassingen te doen aan het scherm. Dit is overigens ook de enige manier: ondanks dat een LightSwitch applicatie een Silverlight “voorkant” heeft, is er geen Xaml te vinden in het project.
 
Binnen het projet helpt LightSwitch de ontwikkelaar op weg om op de juiste plaatsen de nodige aanpassingen te kunnen programmeren, via het “Write Code” tool (Afbeelding 4):
 
Afbeelding 4: Write Code

Deployment mogelijkheden

Pas wanneer het moment van deployment is aangebroken, wordt iets meer duidelijk van het eindresultaat van een LightSwitch applicatie (Afbeelding 5).
 
Afbeelding 5: Deployment mogelijkheden van LightSwitch
 
Deployment type van een LightSwitch applicatie kies je pas aan het eind.
 
De uiteindelijke applicatie is een SilverLight applicatie en kan als zodanig binnen de browser of als desktopapplicatie worden gecompileerd. Naast de client aplicaite is er de Application Server. Er wordt dus een “gewoon” 3-lagen architectuur toegepast: de client aplicatie (Presentation) gebruikt een servicelaag Logic) waarin businesslogica wordt afgehandeld en de servicelaag communiceert met de datalaag (Storage). (Afbeelding 6)
 
Afbeelding 6: Architectuur van een LightSwitch applicatie.
 
Er kan worden gekozen om de Servicelaag op een aparte server of de machine van een gebruiker te laten draaien: het is dus niet verplicht om een aparte server te hebben om LightSwitch te kunnen gebruiken. Een omgeving met slechts werkplek-pc’s of zelfs een enkele pc, volstaat.

Proven technology

Hoewel door een LightSwitch applicatie enkele specifieke assemblies worden gebruikt, zijn er geen nieuwe technologiën aan de spectrum van Microsoft toegevoegd. Er wordt gebruik gemaakt van veel verschillende, maar allemaal al langer bestaande, technologiën (Afbeelding 7).
 
Afbelding 7: LightSwitch gebruikt proven technology
 
Vermoedelijk zou mijn vader – die zich voornamelijk beweegt in de wereld van mainframe systemen – hartelijk lachen om de stelling dat het hier proven technology betreft, maar feit is in ieder geval, dat niets specifiek voor LightSwitch is ontwikkeld.

Extension Points

Voor de meer gevorde ontwikkelaar zullen de beschikbare extension points van LightSwitch met name interressant zijn. Met Extension Points worden de mogelijkheden bedoeld waar delen van LightSwitch kunnen worden vervangen door (of aangevuld met) componenten die door anderen gemaakt zijn. De beschikbare extensio points in LightSwitch zijn:
·         Business Type – standaard zijn al types als “E-mailadres” en “Telefoonnummer” beschikbaar, eigen type kunnen dus gemaakt worden;
·         Screen Template – hiermee kan een nieuw”schermtype worden toegevoegd aan de dialoog bij afbeelding 3;
·         Control –Silverlight controls kunnen als Extension worden toegevoegd zodat deze gebruikt kunnen worden in de Screen Designer;
·         Shell – de Shell is verantwoordelijk voor onder andere het in- en uitloggen en de navigatie door de schermen. Een Shell Extensio zou bijvoorbeeld gemaakt kunnen worden om met touch interface met swype te kunnen faciliteren;
·         Theme – middels een theme extension kan de applicatie van eigen lettertypes en kleurenschema’s worden voorzien;
·         DataSource – met een DataSource extension kan gezorgd worden dat een LightSwitch applicatie met alternatieve Data Sources kan communiceren dan SQL Server, SharePoint of RIA Services.

Conclusie

Hoewel Visual Studio LightSwitch niet direct bedoeld is voor de gevorderde ontwikkelaar denk ik dat velen er toch veel plezier van kunnen hebben. Zelf denk ik dan bijvoorbeeld aan webapplicaites, waarbij het vooral draait om de bezoeker van de website. Voor het onderhoud van de gegevens die aan de dergelijke applicatie ten grondslag liggen zal ik vanaf nu zeker overwegen om LightSwitch in te zetten.

Links

Visual Studio LightSwitch Deveoper Center: http://msdn.microsoft.com/lightswitch
 
Geef feedback:

CAPTCHA image
Vul de bovenstaande code hieronder in
Verzend Commentaar