Archiv für November 2009

Microsoft Ajax Minifier

Donnerstag, 12. November 2009

Bislang habe ich immer Packer von SmallSharpTools verwendet, um JavaScript Files für die Produktionsumgebung zu verkleinern und ggf. zu komprimieren.

Microsoft hat nun mit einer neuen Version ihrer Microsoft Ajax Library (ehemals ASP.NET AJAX) auch ein neues freies Programm, den Microsoft Ajax Minifier verfügbar gemacht. Anders als es der Name vermuten lässt, können damit jegliche JavaScript Files “minified” werden.

Ich habe es gleich im “Hypercrunch” Modus am Beispiel des jQuery Plugins für das Grid von etcetera.Mvc ausprobiert. und das Resultat hat mich überzeugt:

  • jquery-etcetera.js Entwicklerversion: 6′618 Bytes – 100%
  • jquery-etcetera.min.js mit Packer: 3′521 Bytes – 53%
  • jquery-etcetera.min.js mit Ajax Minifier: 2852 Bytes – 43%

Die geringere Grösse resultiert vor allem durch das Umbenennen von lokalen Variablen.
Das gute am neuen Tool ist, dass es auch einen MSBuild Task mitbringt, somit also ideal in den Build Prozess integriert werden kann.

Neue UI Komponente GoogleMaps für ASP.NET MVC

Mittwoch, 11. November 2009

Ich habe eine neue HTML Helper Komponente in meine Library etcetera.Mvc aufgenommen. Die macht es möglich, mit wenigen Zeilen im View die bekannten Google Maps auf der Seite darzustellen:

Google Maps

Der Html Helper unterstützt alle Steuerelemente, welche Google in ihrem API anbietet. Das obenstehende Beispiel wurde mit folgendem Aufruf erzeugt:

<%= Html.GoogleMap()
        .Width(640)
        .Height(480)
        .ApiKey("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
        .Language(MapLanguage.de)
        .Coordinates("47.1,8.1")
        .ZoomLevel(8)
        .ScrollZoom()
        .EnableMapType(MapType.Map)
        .EnableOverviewMap()
        .ZoomControlType(MapZoomControlType.LargeMapControl3D)
        .ScrollZoom()
        .Markers(new List<Marker>
                     {
                       new Marker("47.1, 8.1", "I'm a test bubble."),
                       new Marker("47.2, 8.2", "I can describe <strong>interesting</strong> <br />places using HTML.", true)
                     })
 %>

Die Komponente steht vorerst nur via Source Code zur Verfügung, ein Release folgt bald.