This past week I took part in the International Conference on Web Engineering or ICWE for short. I’d like to round up the lectures I attended, demos I watched and posters I saw. While I still remember, I want to write about my impressions about each individual one, at least at the very shortest. Of course I won’t be able to cover it all, because I wasn’t able to attend every session for obvious reasons and at the same time I didn’t find everything equally interesting. I’ll do my best nonetheless.Read on →
I’ve been going on about hypermedia for a long time now. I’ve touched both client and server side in terms of processing resource representations. There is however a big missing piece in how developers should build user interfaces. Personally I have been hooked on the idea of Web Components and I’ve had some success experimenting with using a declarative way for defining User Interface building blocks.Read on →
Most hypermedia media types like HAL or SIREN are some sort of extension of JSON, which is understandable. JSON is a natural choice because it already is the most common data interchange format for APIs. However JSON as syntax is by design simple and it doesn’t support vital part - links. To plug that hole these media types are intrusive in that they impose a very specific structure of documents. Instead of extending the meaning of representations they hijack the syntax and structure.
Personally I’m biased towards Hydra Core Vocabulary because, unlike all other I have come across, it is based on RDF. Why is it important?Read on →
Going full-on with hypermedia takes some preparations and to convince the masses will require some tooling and examples. Especially tooling. The ability to produce rich developer experience is the determinant of many successful technologies. Another crucial factor are real-life uses cases solved by the technology in question. I would like to focus on the former.
As much as the industry has bought into lightweight Web APIs, often inappropriately called RESTful, there has been an uphill battle to have real hypermedia gain traction.Read on →
In my previous post I presented the first incarnation of Heracles, the Hydra Core client library. While trying to replace my makeshift client I’d implemented for an in-house training project at PGS I quickly decided that I’m going to need a way to compact my resources. It wasn’t that hard but there was one simple hurdle to overcome.Read on →
Lately I’ve been working on a library to consume Hydra Core hypermedia-rich APIs. This is something I’ve been planning for a long time now and given that the Argolis server-side component pretty much works it was about time I started working on consuming the API Documentation.
In this post I showcase the simplest usage of heracles and describe some design decisions. I guess I should write about Argolis too in the near future.Read on →
Given that I’m fairly satisfied with the state of my server-side Hydra library for NancyFx called Argolis it is now time to write some client-side library to consume it. I did some spiking in another small project and it was now time to do it properly. I’ve already had some experience with TypeScript and JSPM so I decided to give these two a go.
Unfortunately getting the project setup right was harder than I’d hoped. Here’s how I managed to get my first test to pass.Read on →
I know that some people will hate me for mixing the words testing database with gherkin all in one sentence, but I’ve found that it’s a quite nice combination. Gherkin’s table feature (SpecFlow in my case) allow for very nice test definitions, with NDbUnit it is quite simple to populate the database, and thanks to LocalDb the tests are beautifully portable.Read on →
I recently wrote about the
Registrations class of NancyFx. It is a great tool
for implementing reusable Nancy packages, which define all their DI requirements and does that with no dependency on any
concrete DI container.
Unfortunately every rose has its thorns and there are some limitations and the exact behaviour slightly differs between
containers. Read on to see what are the problems you can face when using the
Registrations class for setting up your