Kendo UI ReviewIch arbeite nun seit ca. einem Jahr mit Kendo UI. Grund genug einen Kendo UI Review über meine Erfahrungen dazu zu posten.

Was ist Kendo UI?

Kendo UI ist ein umfassendes HTML5 / Javascript Framework zur Erstellung von modernen Web Anwendungen.

Kosten

Wir haben damals Kendo UI für $999 gekauft. Darin sind die MVC Server Wrapper und ein Jahr Support enthalten. Wenn man sich die Liste der enthaltenen Features ansieht ist der Preis für die Anschaffung schon fast nichtig, wenn man einen normalen Consultant Tagessatz dagegenstellt.

Einstieg in Kendo UI und eigene Erweiterungen

Das erste Feature das ich benutzt hatte war das Kendo UI Grid.
Auf der Seite von Kendo UI gibt es sehr viele Beispiele wie man ein solches Grid verwenden kann. Alle Beispiele sind sowohl in HTML, ASP.NET MVC, PHP und JSP vorhanden und man kann diese sehr gut auf die eigenen Probleme adaptieren und erreicht sehr schnell gute Ergebnisse.

Allerdings fängt der Spaß erst so richtig an wenn man Probleme hat, die sich nicht mit der Standardfunktionalität erreichen lassen und man selbst die Funktionalität von Kendo erweitern muss. Dazu bietet Kendo auch viele Möglichkeiten, jedoch muss man sich zunächst selbst einmal klar werden wie Sachen effizient zu lösen sind.
Das öffentliche Support Forum bietet viele Lösungen auf Probleme der Nutzer und bietet einen guten Einstieg. Allerdings empfiehlt es sich auch erst einmal die Dokumentation von Kendo zu studieren denn: Viele Sachen können sehr kompliziert oder auch sehr einfach gelöst werden. Dies bekommt man meistens erst dann raus, wenn man Tage über einem fast nichtigen Problem gegrübelt hat bei dem man denkt: “Das muss doch ganz einfach gehen”. Von daher kann ich nur jedem Entwickler empfehlen einen sehr großen Puffer in seine Schätzungen einzubauen sobald eine Funktionalität realisiert werden soll die nicht im Kendo Standard enthalten ist.

Benötigtes Skillset

Was sich aus meiner Erfahrung gezeigt hat ist es für “Neueinsteiger” oftmals ein Problem überhaupt herauszufinden wo das Problem gerade zu suchen ist.
Liegt es auf der C# Seit wie die Daten geliefert werden oder hat es etwas mit dem eigenen JavaScript Code zu tun oder eher doch mit dem MVC Wrapper Code? Evtl. liegt es doch nur am CSS…

Von daher empfehle ich zunächst einen sicheren Umgang mit C# und MVC, JavaScript, HTML und CSS.

MVC 90
CSS 65
JavaScript 85

Nach Möglichkeit sollte man sich auch nicht alleine mit Kendo UI beschäftigen sondern vielmehr mit mind. einem weiteren Kollegen. Das hilft beim Erfahrungsaustausch sehr und macht manchen Schmerz den man schnell erfährt erträglicher.

Features

Hier eine Liste der Features mit ein Paar Anmerkungen:

  • Grid
    Mit dem Grid kann man fast alle Arten von Tabellendaten darstellen. Unterstützt werden standardmäßig Filterung, Sortierung, Seitenwechsel etc.

    Sollte man warum auch immer jemals auf die Idee kommen ein Grid selbst implementieren zu wollen, dem kann ich nur davon abraten. Wir hatten das in einer meiner vorherigen Firmen einmal versucht mit der Begründung: “Dann haben wir die volle Kontrolle über das was passiert.” Allerdings war die Entwicklung des Grids extrem teuer und vor allem gespickt mit kleinen Bugs. Ich habe leider keine Ahnung mehr was uns die Eigenentwicklung gekostet hat, aber nachdem mind. vier Entwickler ca. einen Monat beschäftigt waren, gehen ich davon aus, dass dies teurer als $999 war. Dazu kommt, das man eben nur ein Grid hatte und nicht die komplette Produktpalette von Kendo UI.

    In den bisherigen Projekten in denen ich Kendo UI eingesetzt habe, war das Grid immer ein fester Bestandteil und hat sich sehr bewährt.
    Demo

  • Window
    In meinen Projekten verwende ich zur Dateneingabe gerne modale Dialoge, da diese keinen Seitenwechsel für den Benutzer darstellen.
    Der Content des Windows kann auf verschiedenste Weisen inkludiert werden.

    Zusammenspiel mit dem Grid:
    Für einfach Dateneingaben kann man auch das Grid verwenden. Allerdings stößt man schnell an eine Grenze was Custom Validierungen betrifft. In diesem Fall wird man sich selbst ein PopUp Window bauen, das annähernd so aussieht wie das Standard PopUp des Grids und füllt dieses mit seiner eigenen Logik. Ursprünglich war ich einmal der Meinung, dass das Grid diese Funktionalität mitbringt, dem ist aber leider nicht so.
    Demo

  • Cascading DropDownLists
    Man kann sich mit viel JavaScript Code selbst kaskadierende Dropdown Listen erstellen. Dabei bricht man sich sehr wahrscheinlich die Finger und es ist sehr umständlich.
    Mit wenigen Handgriffen kann man mit Kendo UI von einander abhängige Listen erstellen. Ein tolles Feature das ich auch sehr gerne selbst verwende.
    Demo

  • Tabstrip
    Um viele Informationen in einem “tabbed” Control darzustellen empfieht sich das Kendo Tabstrip.
    Die einzelnen Reiter können per JavaScript aus dem Code angesprochen und entsprechend aktiviert werden.
    Aus meiner Sicht sehr einfach zu verwenden und bringt einen guten Effekt auf jeder Webseite, die viele Informationen in unterschiedliche Kategorien unterteilen muss.
    Demo

Hier die komplette Feature Liste von Kendo UI.

Bewertung des Kendo UI Support Teams

Bisher habe ich im Kendo Support Forum 5 Tickets eröffnet, auf die innerhalb von 24 Stunden reagiert werden musste. Der Support war durchwegs sehr gut. Selten habe ich einen Support erlebt, der so gezielt auf meine Fragen geantwortet hat.
Vor allem wurden innerhalb dieser 24 Stunden direkt Lösungen angeboten und man wurde nicht mit lästigen Nachfragen genervt, die nur der Verlängerung der Zeit dienen sollten.
Meistens habe ich zu meinem Problem ein Video erstellt und habe mein Problem so genau wie möglich beschrieben. Das hat zwar ein wenig Zeit in Anspruch genommen, aber dadurch war die Lösungsqualität auch sehr hoch! Toll!

Kendo UI Review Fazit

Hier Zusammengefasst mein Fazit zu Kendo UI:

  1. Sobald man das erste Projekt mit Kendo UI gemeistert hat wird man mit Sicherheit im nächsten Projekt auf die gemachten Erfahrungen zurückgreifen können und sich sehr wahrscheinlich wieder für Kendo UI entscheiden.
  2. Die Entscheidung zwischen “Make or Buy” stellt sich auch meiner Sicht nicht. Sobald man eine Funktionalität aus den Features von Kendo UI benötigt sollte man sich für das Produkt und die $999 entscheiden. Der Produktivitätsgewinn schlägt in jedem Fall die Zeit der Eigenentwicklung in sehr kurzer Zeit.
  3. Bei Fragen sollte man sich zeitnah an das Kendo Support Team wenden um nicht Stunden- oder Tagelang im trüben zu fischen.
  4. Kendo UI erst einsetzen wenn das dazu notwendige Skillset vorhanden ist, sonst kann ein Fehler nur sehr schwer lokalisiert werden.

Unter den o.g. Voraussetzungen ein super Produkt das meine Produktivität deutlich erhöht hat.