Journal Sortie de Blitzen 0.0.5

Posté par (page perso) .
Tags : aucun
16
20
oct.
2009

Mais qu'est-ce que Blitzen, et que fait-il de si extraordinaire pour mériter un journal ?



Blitzen est un serveur d'application que j'ai commencé à écrire cet été à mes moments perdus, et qui a pour but de faciliter l'écriture d'applications web.



Dans la grande famille des frameworks, toolkits et autre serveurs d'application web, on distingue généralement deux catégories :


  • L'orienté page, qui a pour but de fournir un niveau d'abstraction confortable sans toutefois masquer totalement les technologies mises en oeuvre( HTML,Javscript,...)

  • L'orienté composant qui à pour but de fournir un abstraction complète des technologies utilisées et de présenter au développeur une API basée sur des widgets et des signaux, permettant ainsi de traiter le développement d'interfaces web comme le développement d'applications "desktop".




Bien entendu, chaque approche a ses adeptes et ses détracteurs. Pour ma part, j'ai un nette préférence pour la seconde école, et j'ai donc eu l'occasion d'essayer un certain nombre de ces toolkits qui promettent toujours monts et merveilles pour peu que l'on se donne la peine de les apprivoiser... Et j'en suis toujours revenu !



Je ne savais peut-être pas m'en servir correctement, ou je n'ai jamais trouvé la perle le rare, mais toujours est-il que je n'ai jamais trouvé quelque chose qui réponde précisément à ce que je voulais. C'est ainsi que j'en suis venu à écrire Blitzen, pour avoir enfin quelque chose qui fasse ce que je veux et surtout comme je le veux.



Blitzen est donc totalement orienté widget/signaux et écrit de telle manière que le développeur n'ai jamais le moindre contact, aussi furtif soit-il, avec les technologies utilisées: Le toolkit fourni, Stk, présente une API proche de Gtk dont il s'inspire fortement, et le serveur d'application se charge des détails du rendu, en prenant en compte les capacités du client:
Si le javascript est supporté, la plupart des échanges client-serveur ne conduisant pas à un changement de page seront réalisés de manière asynchrone sans rechargement de page, mais sans toutefois tomber dans l'excès inverse qui consiste à construire toute la page coté client. Le but étant de répartir au mieux les rôles pour obtenir les performances maximales.



Initialement, ce projet était pour moi l'occasion d'explorer quelques pistes qui me trottaient dans la tête depuis un moment et surtout comme je l'ai déjà évoqué, d'avoir quelque chose qui fasse exactement ce que je voulais.
Bien que dans l'état actuel il soit loin d'être terminé, que Stk n'ai pas encore beaucoup de widgets, et que le coeur du serveur ne soit pas encore au niveau de mes attentes, j'ai décidé d'en faire un projet libre, sous LGLP v2 afin d'en faire profiter de potentiels utilisateurs.



Pour faciliter la tâche des potentiels intéressés, j'ai écris un petit tutorial qui montre les possibilités de Blitzen, et un squelette de référence pour l'API du toolkit Stk.



Dernier point, que j'ai gardé pour la fin, le langage utilisé:
C'est du C et plus précisément du C/GObject. Non, ne partez pas !
Bien qu'il soit possible de coder un site web directement C/GObject, rassurez-vous ce n'est pas vraiment le but final.
Les applications peuvent être écrites dans un langage de haut niveau, managé, le Vala !



Toutes les remarques/suggestions/contributions sont les bienvenues.



Les liens:
  • # News

    Posté par (page perso) . Évalué à 6.

    Un journal bien rédigé et intéressant. Des liens pertinents.
    Pourquoi ne pas avoir proposé une news ?
    • [^] # Re: News

      Posté par (page perso) . Évalué à 4.

      Je n'ai pas proposé de news pour plusieurs raisons :
      Premièrement, je voulais d'abord voir via un journal si le projet suscitait de l'intérêt ou non, et deuxièmement parce que j'ai tout mis en ligne hier et je souhaitait quelque chose d'instantané.
      Toutefois, si j'ai des retours positifs avec ce journal, je proposerai une news plus détaillée.
  • # Vraiment intéressant

    Posté par (page perso) . Évalué à 3.

    C'est vraiment très intéressant, en plus tu as le bon gout d'utiliser la LGPLv2 si j'en crois le COPYING, je pense que je vais suivre ça de très très près :)

    Tu vas rapidement te retrouver avec un ports FreeBSD si j'accroche, dans tous les cas j'aime beaucoup l'approche :)
    • [^] # Re: Vraiment intéressant

      Posté par (page perso) . Évalué à 4.

      Tout à fait, le COPYING est bon, et comme précisé dans le journal, Blitzen est en LGPL v2.

      Ça me ferai très plaisir de voir Blitzen tourner sur autre chose que du Linux, cependant même si j'ai utilisé l'API de la glib au maximum et que je ne me souvienne pas avoir fait de Linuxismes, je n'ai jamais testé sur autre chose. En tout cas, n'hésite pas à remonter les bugs et/ou soucis de compilation soit à bugs@blitzen.org soit sur le tracker sourceforge si je l'ai mis en place d'ici là.( oui, tout est un peu frais là... )

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.