I need adapters

Publié le et mis à jour le par /

Version française

I have to confess that I don’t wake up every morning eager to develop an application for the last promising and cool Web platform I just saw the day before. Thought, I often wish to create a Web App, and hack it in order to make it run on various platforms.

Most of the technical tutorials I see on websites of new platforms explain how to write a new app from scratch, with boilerplates, specific stylesheets, and so on. But no documentation about how to adapt an existing app to get the better of this platform. I think this kind of documentation would be really useful. One of the main concern of the creators of new platforms is to get a minimal amount of apps on them. Nobody would use FirefoxOS if some of the most used applications were missing. A platform won’t have much traction without social network clients, stupid games, productivity tools and the latest hype stuffs. So newcomers to the market spend a lot of time trying to attract developers and convince them to code some apps. I think it would be much more efficient to provide the developers tools to easily adapt their existing apps and make the most of the platform.

I wish every new runtime comes with a high level library allowing to plug any existing application with only a few lines of code. A library allowing the basic features most apps need, like (I’m thinking of both client side and server side platforms, some items are irrelevant on one side) :

  • authenticate users;
  • store data on the device for offline use;
  • sync data between many devices;
  • send emails;
  • share content on social networks;
  • a cron-like mechanism for periodic tasks;
  • run tasks by calling an URL (webhooks);
  • a way to perform cross-domain request to call third party APIs;
  • push data from server to client;
  • manage localization;
  • and so on.

The Web is the platform. Runtimes are mostly only placeholders for features currently missing in the Web, but that will be natively available in a near future in client or server agents. So they should act as placeholders, not as full stack technology.

If you’re working on a new Web runtime, please don’t ask me to create apps for your platform. Quite the opposite, give me high level tools and libraries that allow to enrich my Web apps when it runs on your platform. We, Web developers, are your users. Please put your tools in our service instead of asking us to adapt to your requirements. Give us the tools, not a new how to reinvent the wheel. Thanks. Kisses.

Update : some people are asking if PhoneGap / Cordova aren’t the tools I’m looking for. Yes. And No. This frameworks have their own language, their rules, they override HTML5. I don’t want someone to dictate the tools I have to use. Want I would like is that every runtime come with this sort of high level library, like plugins for HTML5. I wanna be free to choose my tools and how I organize my project, and just have to call an interface library to adapt my code to a new runtime. Some weeks ago, an evangelist asked me which tools I would need to create an application on the platform he’s bringing to life. I answered that I didn’t want to create a new app. I spent lot of time hacking on Àlir, it’s pretty mature now, and I don’t want to start rewriting it from scratch to port it to a new runtime. I just want to had some line of code to support this new platform, like I would had some LoC to support a new input device or backend provider. So please, don’t ask me to write an application from scratch, but just explain me how I can enrich my code to get the better of your product.

Pour réagir, n'hésitez-pas à m'écrire : clochix chez clochix.net ou à soumettre l'url de votre commentaire :
(Je traite les mentions à la main, elles peuvent mettre plusieurs jours avant d'apparaître)

Si vous avez un compte Github, vous pouvez me proposer des corrections en éditant ce billet

Fork me on GitHub