Naar de inhoud

Blog

  • 4 aug 2011 Jan Aukema

    De handigheden van Resharper

    donderdag 4 augustus 2011

    Als .net ontwikkelaar maak ik veel gebruik van JetBrains Resharper om kwalitatief goede code te schrijven. Resharper maak het mogelijk om code te controleren terwijl je deze aan het bewerken bent. Er wordt gecontroleerd of alle code die geschreven is ook wel echt gebruikt wordt.

    Resharper maakt het ook mogelijk om sneller code aan te passen. Zo geeft Resharper door middel van een gekleurde streep onder de aan te passen code aan dat de code ook anders opgesteld kan worden. Er verschijnt ook een lampje met daarbij een voorstel hoe de code anders kan zijn of hoe een fout opgelost kan worden. Door een simpele handeling (“Alt + Enter”) kan de code in één keer aangepast worden.

    Resharper kent daarnaast nog de mogelijkheid om snel te zoeken en te wisselen tussen verschillende schermen. Hiervoor zijn de door mij veel gebruikte shortcuts “Ctrl+T” en “Ctrl+Shift+T” voor het zoeken in klassen en bestanden. De combinatie “Alt+Shift+L” kan worden gebruik om bestanden snel in de boomstructuur van de solution op te zoeken.

    Op het moment maak ik gebruik van Resharper 5 maar versie 6 is ook al beschikbaar.

    Nieuwe functionaliteiten in Resharper 6 zijn:

    • Ondersteuning voor CSS.
    • Ondersteuning voor Javascript
    • Ondersteuning voor de ASP.NET MVC 3 Razor Engine.
    • De mogelijkheden om bestaande code te decompileren.
    • Nog meer suggesties voor het verbeteren van de code en hierbij de uitleg waarom dit wordt voorgesteld door Resharper.

    Voorbeeld Resharper

    Inmiddels kan ik al niet meer zonder het gebruik van Resharper.

    Maak je ook gebruik van Resharper en ken je nog meer handigheidjes? Laat het me weten door hieronder te reageren.

  • 22 feb 2011 Gerard Peters

    Beheer je libraries met NuGet

    dinsdag 22 februari 2011

    Zoals collega Rob Lohman al eerder heeft geblogd is enige tijd geleden MVC3 gereleased. Een nieuwe toevoeging hierbij is NuGet. 12 Februari is versie 1.1 van NuGet vrijgegeven. In deze blog zal ik uitleggen wat NuGet is en waarvoor het gebruikt kan worden.

    Wat is NuGet?

    NuGet is een zogenaamde package manager. Het doel van NuGet is om open source libraries van derde makkelijk te kunnen integreren in je eigen project. Vaak moeten er meerdere dingen worden aangepast wanneer er een library toegevoegd wordt aan een project. Zo moet de library toegevoegd worden aan de referenties en in veel gevallen moet de juiste setup in de web.config ingesteld worden. Ook worden de referenties die een bepaalde library nodig heeft automatisch toegevoegd aan het project.

    Een package kan toegevoegd worden via de package manager console of via het package manager dialoog venster.

    Alle libraries op een plek

    Doordat NuGet gebruik maakt van een centraal punt waar alles packages geplaatst kunnen worden kan iedereen hierbij. Iedereen die zijn package wil delen met de rest van de wereld kan deze package toevoegen aan deze centrale feed.

    Naast een centrale feed is het ook mogelijk om een eigen NuGet service op te zetten met packages. Zo kan er bijvoorbeeld binnen een bedrijf een feed worden opgezet waarin alle libraries komen te staan die een bedrijf gebruikt zodat iedere werknemer hier makkelijk bij kan. Het opstarten van nieuwe projecten kan zo makkelijker worden gemaakt.

    Automatisch update

    NuGet houdt bij welke libraries er zijn geinstalleerd binnen een project. Zodra er van deze library een nieuwe versie beschikbaar komt zal dit door NuGet worden aangegeven. Met een druk op de knop kan deze library gemakkelijk geupdate worden.

    Veranderingen in NuGet 1.1

    In versie 1.1 is er een extra tab toegevoegd aan de package manager dialoog waarin alle recente packages getoond worden die zijn geïnstalleerd met NuGet. Zo zijn packages die je zelf vaak gebruikt makkelijk terug te vinden.

    Daarnaast is er ook een voortgangs dialoog toegevoegd waarin precies te zien is wat er geïnstalleerd gaat worden. Ook is dit hele proces terug te zien in het output window.
    Voor een volledige lijst met alle updates en bugs die zijn opgelost in NuGet 1.1 kun je een kijkje nemen in de issue tracker van NuGet.

    Interessante links:

    Download NuGet

    NuGet documentatie

    Getting started

    Ik ben zelf zeer enthousiast over NuGet en heb het dan ook al meerdere malen gebruikt. Wat is jouw mening over NuGet?

  • 4 jan 2011 r.lohman

    Wat is MVC3?

    dinsdag 4 januari 2011

    Logo asp.net MVC3Op dit moment is Microsoft druk bezig met de ontwikkeling van ASP.NET MVC3.Momenteel is RC2 op de markt en de verwachting is dat dit een van de laatste versies zal zijn voor de definitieve versie vrijgegeven zal worden. Reden genoeg om hier ook eens onderzoek naar te gaan doen en ermee te experimenteren.

    MVC3 kent een groot aantal interessante verbeteringen, maar de op dit moment meest interessante vind ik toch wel de Razor View Engine. Een van de grote verschillen is dat Razor gebruik maakt van CSHTML bestanden. Zo krijg je bijv.”SiteLayout.master” als masterpage in MVC2 terwijl in MVC3 dezelfde pagina “SiteLayout.cshtml” heet.

    Inhoudelijk lijken deze Masterpages (en andere pagina’s) op elkaar, behalve dat de syntax bij het gebruik van Razor anders is. Zo wordt onder andere al gebruik gemaakt van de HTML5 Doctype Declaration (DTD). Onderstaande vergelijking laat zien hoe de syntax met het gebruik van Razor verschilt van de huidige syntax in MVC2.

    Bestaande syntax MVC2

    Bovenstaande afbeelding laat zien wat de huidige syntax is bij MVC2 projecten. De onderstaande afbeelding toont de nieuwe syntax zoals deze in MVC3 met behulp van de nieuwe Razor View Engine wordt gebruikt

    Nieuwe syntax mvc3 Razor View Engine

    Wat opvalt is dat in de huidige .aspx-pagina’s elk code blok geopend en afgesloten wordt met <%= %>. In MVC3 met het gebruik van Razor wordt een codeblok geopend met een @ en hoeft deze niet perse worden afgesloten. De engine is zelf dusdanig intelligent dat hij zelf uitzoekt tot hoever de tekst die volgt na het @ uitvoerbare code is. Bij views waarin veel data getoond moet worden, zoals bijv. een productpagina van een webshop levert dit een veel leesbaardere en overzichtelijke pagina op voor de ontwikkelaar. Meer voorbeelden en informatie over de nieuwe Razor View Engine is te vinden in deze blogpost van Scott Guthrie.

    Andere interessante verbeteringen en nieuwe toevoegingen om te noemen zijn;

    • Verbeterde Javascript validatie
    • Standaard beschikking over de jQuery Validatie Plug-in
    • Nieuwe Action Results
      • Onder andere HttpNotFoundResult(); Dit is een standaard actionresult die een 404-melding toont wanneer een pagina niet gevonden kan worden.
      • Verbeterde Dependency Injection

    Na wat geëxperimenteerd te hebben met MVC3 en Razor kan ik zeggen dat Microsoft goed op weg is met MVC3. Naast het gebruik van de nieuwe Razor View Engine, die erg soepel werkt en voor schonere en compactere html zorgt, ben ik ook van de andere verbeteringen erg onder de indruk. Validatie lijkt een stuk beter te werken en ook het uitzetten van de request validatie (wat in MVC3 met een enkel attribuut kan) is een stuk vereenvoudigd. Met MVC3 lijkt Microsoft zich erop te richten om het de ontwikkelaar zo eenvoudig mogelijk te maken. Ook worden er al enkele HTML5 onderdelen gebruikt in zowel de validatie als de HTML. Verder zijn er nog enkele SEO-verbeteringen doorgevoerd, is jQuery UI standaard aanwezig en kan nu zelfs op Controller Niveau bepaald worden of de Sessionstate gebruikt moet worden. Er zijn teveel verbeteringen om ze allemaal in deze blog te noemen en misschien zeggen niet alle onderdelen jullie wat, daarom laat ik het hierbij.

    Schematische weergave werking mvc

    Mochten jullie meer willen weten over MVC3 dan raad ik jullie aan om de blogs van Scott Guthrie en Phil Haacked in de gaten te houden. Beiden werken voor Microsoft en komen regelmatig met goede blogs en informatie over MVC3.

    Vragen over dit onderwerp? Of ben je er zelf mee bezig? We zijn benieuwd naar jouw mening over dit onderwerp!


  • 13 apr 2010 Jan Aukema

    Devdays 2010

    dinsdag 13 april 2010

    Op dinsdag 30 en woensdag 31 maart waren de DevDays in het World Forum in Den Haag.

    Ik ben hier samen met collega’s naar toe gegaan om onder andere nieuwe informatie op te doen over de release van de nieuwe Visual Studio (2010) die op 12 april gelanceerd wordt en over C# 4.0.

    C# 4.0

    Eén van de sprekers, Anders Hejlsberg,  heeft een sessie gehouden over C# 4.0. Hij heeft hierbij voornamelijk laten zien wat de nieuwe mogelijkheden zijn bij het gebruik van C# 4.0.

    Een aantal van de besproken onderwerpen voor C#4.0 zijn:

    Dynamic Typing
    In c#4.0 is een nieuw type opgenomen genaamd “Dynamic” dit maakt het mogelijk om een variabele op te slaan zonder het type hiervan te definiëren. De variabele die dan gedefinieerd is als dynamic kan dan gebruikt worden zonder dat er bij het compileren fouten optreden. Fouten die optreden zullen in dit geval pas op run-time worden gezien.

    Een groot voordeel van het gebruik van het dynamic type, is dat er ook andere talen eenvoudig aangesproken kunnen worden. Zo is het bijvoorbeeld mogelijk om vanuit Silverlight, waarbij in C# geprogrammeerd wordt een aanroep te doen naar code die is geschreven in Javascript.

    Gebruik van Optional en Named parameters
    C#4.0 heeft de mogelijkheid om gebruik te maken van “Optional parameters”, waarbij het mogelijk wordt om parameters die aan een functie meegegeven dienen te worden optioneel te maken. Het voordeel hiervan is dat er geen rekening gehouden hoeft te worden met verschillende mogelijkheden van de aanroep van een functie, wat eerder met een overload opgelost zou worden.

    Ook is het mogelijk gebruik te maken van Named Parameters, waarbij waardoor het mogelijk is de parameters die ingevoerd dienen te worden, niet in een vaste volgorde ingevoerd hoeven te worden, maar ook aan de hand van de parameter naam kunnen worden ingevoerd.

    Het gebruik van Optional en Named parameters, zorgt ervoor dat er minder code geschreven hoeft te worden door niet vele overloads te hoeven gebruiken.

    Co- en contra variance
    Voor het gebruik generic types is het mogelijk om bij het type wat wordt gebruikt mee te geven of deze alleen voor output wordt gebruikt (covariant) of alleen voor input (contravariant), door gebruik te maken van de keywords “out” en “in”.

    C# 5.0

    Tijdens een presentatie van Anders Hejlsberg hebben we nog een preview gezien van C# 5.0. Hierin gaat de compiler als een service aangeboden worden en kan een applicatie live aangepast worden. Dit was wel indrukwekkend om te zien.

    ASP.NET MVC 2

    Scott Hanselman heeft een sessie gehouden over het nieuwe ASP.NET MVC 2 wat gelijk met de lancering van C#4.0 wordt geïntroduceerd.

    Hij heeft hierin een aantal nieuwe mogelijkheden besproken die een aantal taken uit handen kunnen nemen. Zoals het gebruik van T4 templates en het gebruik van templates voor de weergaven van velden die van een bepaald type zijn.

    Secure Coding

    Er was ook een sessie over Secure Coding die gehouden werd door Alex Thissen. Hier werd ingegaan op de verschillende aspecten van beveiliging in de applicatie. Deze dingen kwamen ons allemaal bekend voor wat wel een extra goed gevoel over onze bestaande applicaties geeft.

    Naast deze besproken punten zijn er nog een heel aantal zaken opgestoken van de diverse sessies die we bezocht hebben. Als samenvatting kunnen we zeggen dat het interessante dagen waren.

    Ben jij ook op de DevDays geweest? Ik ben benieuwd naar jou mening.

  • 5 okt 2009 Arno ten Hagen

    Presentatie Scott Guthrie over Visual Studio 2010, .NET Framework 4.0 en ASP.Net MVC 2

    maandag 5 oktober 2009

    Op vrijdag 25 September dit jaar zijn we (Pieter, Marco en Arno) naar Leusden afgereisd om een presentatie van Scott Guthrie bij te wonen. Scott is een erg belangrijke pion van Microsoft, hij is Corporate Vice President .NET Developer Platform (één van de twee die de functie van Bill Gates heeft overgenomen), en is eindverantwoordelijk voor onder andere de ontwikkeling van Visual Studio, .NET Framework en Silverlight.

    Scott was door Stichting dotNed (.NET gebruikersgroep Nederland) uitgenodigd om in het Da Vinci Theater bij AFAS in Leusden te spreken over de nieuwste versies van Visual Studio, .NET Framework en ASP.NET MVC. De voorbeelden die hij liet zien had hij de dagen ervoor zelf opgezet, en het was de eerste keer dat hij de presentatie heeft gegeven, een primeur dus!

    Het event was erg goed georganiseerd door dotNed en duurde vier uur lang. In deze vier uur heeft hij maar enkele onderwerpen kunnen behandelen, terwijl dit nog maar een fractie was van de ontwikkelingen die hij had kunnen behandelen. Hij liet alleen al een aantal slides zien met nieuwe dingen die hij niet zou behandelen. Dit zegt natuurlijk genoeg over het vele werk dat Microsoft heeft geleverd om tot een nieuwe versie van .NET en Visual Studio te komen!

    In het eerste deel van de presentatie heeft hij interessante features laten zien die mogelijk zijn met Visual Studio 2010 en .NET Framework 4.0. Het ontwikkelen met Javascript bijvoorbeeld wordt in de nieuwste Visual Studio nog interessanter voor de scripters onder ons omdat er flink wat werk in de Intellisense (automatische aanvulling van code) is gestopt. Door deze ontwikkelingen wordt het scripten met een Loosly Typed Language als Javacript veel eenvoudiger.

    De meest interessante ontwikkeling vind ik persoonlijk de mogelijkheid om achterwaarts te kunnen debuggen, Historical Debugging. Deze feature maakt het mogelijk om tijdens het debuggen niet alleen vooruit, maar ook achterwaartse stappen te maken. Ik ben ervan overtuigd dat ontwikkelaars door deze feature in bepaalde gevallen veel sneller problemen kunnen oplossen. Dit komt mede doordat het mogelijk wordt een debug geschiedenis op te slaan en weer in te laden. Dit is natuurlijk ideaal om te posten op fora waar vele specialisten actief zijn, het wordt eenvoudiger om problemen uit te leggen en op te laten lossen door anderen.

    Overige interessante onderwerpen die werden behandeld in de eerste presentatie zijn onder andere een SEO (Search Engine Optimization) Analyse vanuit IIS, en veel verbeteringen in de code editor van Visual Studio.

    Presentatie Visual Studio 2010 en .NET 4.0

    Get Microsoft Silverlight

    Het tweede gedeelte van de presentatie ging enkel over de nieuwste versie van ASP.NET MVC, versie 2.0. Dit framework, dat momenteel door A&M ImpacT wordt gebruikt, maakt mede door de vele feedback dat geleverd wordt door gebruikers en de snelle oplevering van preview releases een razendsnelle ontwikkeling door. De presentatie begon met een basisverhaal over de werking en mogelijkheden van ASP.NET MVC, en sloot af met een aantal nieuwe features die mogelijk zijn vanaf versie 2.0.

    Presentatie ASP.NET MVC 2.0

    Get Microsoft Silverlight
    Al met al was het een erg leuke, gezellige en vooral interessante avond waarin we veel hebben gezien en overtuigd werden van de nieuwste ontwikkelingen van Microsoft op het gebied van Webdevelopment. Nu is het alleen nog even wachten op de officiële releases van Visual Studio 2010 en .NET Framework 4.0!