Client Side applications

Banner

Since the beginning, we envisioned the cozy project as a Platform. We want third-party developers to be empowered to create applications. With the cozy user permissions, these applications use personal data to provide interesting services. We have had some amazing community applications, some of them have been featured in this blog before.

The cozy architecture allows each app to have its own server, which opens a lot of possibilities. For instance the application can expose an API to external devices (like sync application) or access external data (like Konnector application). However, with great powers comes some complexity and it can be hard to get started on developing a cozy application, as you need to understand and design the server side, the client side and the connection between the two.

In the past months, our developer Felix Lambert added a new function to your cozy: the ability to install client-side applications. These applications are installed through the store as usual, but they don’t need a server. The cozy platform now acts as a server for the most common use cases: Read, create, update the data in your cozy.

This should make developing an application for cozy faster and more easy. If you’re a developer and want to know more, head over to the bottom of this article for some pointers.

As a side benefit, this new architecture allowed us to easily port some existing “HTML5” applications. They will be available in the market place shortly, but you can try them now by copy pasting their url into the “Install an app from it repository” field in your cozy’s store page

  • The famous 2048 game by Gabriele Cirulli: https://github.com/frankrousseau/2048

  • The Esviji game by Nicolas Hoizey: https://github.com/jsilvestre/cozy-esviji

I am a developer, where do I start?

Our developer documentation has been updated to include the choice between Full Node.js Application development and Simple client-side Application development.

This will guide you on the steps needed to create your application, package it for cozy and use cozy SDK to access user data. The client-side tutorial is available either in vanilla javascript with no framework or with the popular Angular.js framework. If you face any issue, we are, as usual available by [mail](mailto:contact at cozycloud dot cc) on the forum, IRC or with github issues

What’s next ?

Another advantage of these client-side applications is their portability: It is theoricaly possible to take the same application and package it as a cozy app, a mobile app and a desktop app. In the future, this might allow an unified experience across devices offline or online.