Pedestal: Neues Client-Server-Framework für Web-Entwicklung

Eric Herrmann

Die US-Amerikanische Entwicklerschmiede Relevance hat mit Pedestal ein Web App Framework veröffentlicht, das sowohl auf Client- als auch auf Serverseite die Entwicklung in der Programmiersprache Clojure ermöglicht.

Während der Code der Demo-Applikation und die Aufmachung der Homepage vielversprechend aussehen, bleiben ein paar Fragen ungeklärt: Welche sind die „verschiedenen Bibliotheken“, auf die Pedestal zurückgreifen soll? Da sich das allerdings im Laufe des Reifungsprozesses des Frameworks noch ändern kann, sei dies der bisherigen Alpha-Version verziehen.

Eines der spannenderen Features könnte das Shared Interface zwischen Client und Server sein: Web-Applikationen sollen sich damit um einen gemeinsamen Datenvertrag aufbauen lassen, der beide Enden der Anwendungen über ein einheitliches Interface verbindet. Damit erlaube es die besonders einfache Zusammenarbeit zwischen Front- und Backend, heißt es auf der Projektseite.

Wie dies in der Praxis ausschaut, könnten wir eines Tages sehen, falls sich die Community um das EPL-lizenzierte Open-Source-Projekt vergrößern sollte. Bis jetzt haben immerhin neun GitHubber das Projekt geforkt.

Im zugehörigen Diskussionsthread auf Hacker News hat sich Relevance-Mitarbeiter Alex Redington zu Wort gemeldet, und die drei für ihn schlagenden Kiterien für Pedestal vorgestellt:

  • Same language on the client and on the server. You can get this with something running on the native OS in both locations, or with javascript and node, or with clojurescript and clojure. ClojureScript and Clojure can sit on top of the browser platform like javascript. We’re opinionated and would rather solve problems with Clojure than with Javascript.
  • A server-initiated communication mechanism that can send data to those clients without parking a thread or process in order to maintain all the information for managing the communication. Our Server Sent Events mechanism lets clients initiate HTTP connections to the server and hold the connection open. On the server side, we can park those connections without eating a thread to do it, and pick up the connections to send new data down to clients as appropriate.
  • A pretty powerful set of libraries for developing client applications in ClojureScript. The libraries let you isolate the scope of change to HTML document trees so that changes to underlying data reflect small changes up to the presentation layer. This foundation has created lots of interesting abilities, like being able to record a set of interactions and replay them with a new presentation layer, or being able to replay specific sets of data being sent from the server to clients.
Geschrieben von
Eric Herrmann
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.