Showing posts with label Metaprogramming. Show all posts
Showing posts with label Metaprogramming. Show all posts

Wednesday, March 27, 2013

Desktop / Browser Interoperability

Durch eine einfache Erweiterung des Thrift-HTTP-Servers um CORS können nun JavaScript-Callbacks zu lokalen Desktopanwendungen gelangen. Das entsprechende MetaThrift-Beispiel kann jetzt mithilfe der folgenden Links einfach nachvollzogen werden:

Thursday, March 7, 2013

Erfahrungsbericht: Simple.Data

Im Rahmen eines Kundenprojekts habe ich Erfahrungen mit der Datenzugriffsbibliothek Simple.Data gesammelt. What's the deal? Tadaa: der Ansatz von Simple.Data setzt auf Konventionen sowie dynamic und kommt dadurch ohne boilerplate code oder vorgenerierte ORM-Modellen aus. Mein Eindruck: It just works! Genial einfach in der Benutzung und sauber programmiert.

Intern arbeitet es mit der TPL nach dem Task-based Asynchronous pattern (TAP) ist damit also bereit für C# 5.0 mit async und await. Es ist nach meinen Tests threadsafe und transaktionssicher. Einfach klasse!

Für Entwickler die hauptsächlich mit statisch typisierten Sprachen wie Java oder C# arbeiten, ist der Umgang mit einer voll dynamischen API allerdings ungewohnt, bricht dann doch die gewohnt komfortable Begleitung durch Intellisense, Resharper und den Compiler weg.

Die meisten (ich auch) tendieren dann dazu, ein Repository als Abstraktionsebene einzuschieben.
Mark Rendle, Autor von Simple.Data, hat sich dazu seine eigenen Gedanken gemacht und beschreibt in seinem Post HOWTO: Dial up the static on Simple.Data einen zu TypeScript ähnlichen Ansatz mithilfe der Duck Casting-Bibliothek ImpromptuInterface. Stark!