Applications clientes en Javascript

Je suis impressionné par les applications clientes utilisant des technos web comme http://nitrotasks.com/
ou http://getspringseed.com/.

Ces applications utilisent les technologies nodejs, CoffeeScript, et en regardant un peu les sources des packages debian, je vois qu’ils encapsulent ces scripts dans une application Python avec du Webkit.

Personnellement, je serais bien tenté pour jouer un peu avec ces technologies mais j’ai du mal à comprendre les principes de bases de nodejs et je n’ai même pas su exécuter springseed depuis les sources.

Bref j’aimerai un peu d’aide pour compiler et exécuter springseed et nitrotasks depuis les sources et par la même occasion comprendre un peu les principes de développement javascript/nodejs.

J’ai trouvé ça aussi qui m’a l’air bien https://github.com/appjs/appjs, je me demande si ça n’a pas été utilisé par les deux projets ci-dessus pour créer les packages Ubuntu.

c’est simple : c’est du html/js tu peux meme faire du jquery)/ajax. l’ajax est fait avec du nodejs.

En gros, te bile pas, fais un site web classique avec nodejs et tu pourras aisément le « compiler » (oui c’est PAS de la compilation, je sais…) en executable windows.

NodeJs est pas compliqué à comprendre, c’est « en gros » un serveur web. Sauf qu’il interprete aps facilement du php/python à la volée. Il faut definir les comportements en fonction des « 'requetes » qu’il lui sont envoyé.

J’avais trouvé un tuto très bien pour commencer NodeJS, un chat irc en temps réél. Cherche de ce coté.

De notre coté, on utilise nodeJS Webkit qui marche tres bien pour faire un appli (un launcher/patcher dans notre cas). Les technos JS permettent de facilement déporter des objets depuis le site et c’est hyper classe de balancer un callback au launcher via un websocket et que ce callback marche parfaitement de l’autre coté du socket. C’est top :wink:

Pas mieux que DJ, surtout que j’ai jamais testé le packaging d’applis comme ça. Mais pour NodeJS le meilleur tuto sur lequel je sois tombé, et pourtant pas très bien référencé, c’est celui-là :
http://book.mixu.net/
Il ne parle pas des websockets mais il y a 90000 tutos pour ça, et une fois que tu maîtrises les principes c’est pas compliqué.

Si tu veux faire du nodejs, va voir du coté de http://nodejs.org/  :slight_smile:

Et un rapide coup d’oeil du coté de springseed (https://github.com/consindo/notes) montre qu’il va te falloir un interpreteur ruby,  nodejs, node package manager (npm) et compass. La procedure d’installation est décrite. 

Donc au programme, défricher nodejs, puis coffeescript, puis sass/compass. En option, utiliser codekit. Bon courage ^^

edit: et sinon tu peux passer sur irc pour consulter ivru, notre spécialiste nodejs.

J’ai une certaine aversion pour tout ce qui commence par spring…

Donjohn s’emmêle les pinceaux, ajax c’est JS, pas node.

Sur le site nodejs tu as des tutos, commence déjà par ça. Pense aussi au Node Package Manager (y a plein de module intéressants pour les sockets, les services rest, …). Ensuite passe à la compile de tes trucs. Ca ne sert à rien de vouloir compiler/utiliser une app si tu comprends pas ce qu’il se passe derrière. IMHO.

@doumdoum :
 lfyNIkL.gif

[quote=“doumdoum, post:4, topic: 55187”][/quote]

J’ai justement suivi le readme pour “compiler” le coffeescript en javascript, transformer les scss en css, installer les dépendances nodejs… et après ? La doc ne décrit pas comment lancer l’application. A tout hasard  j’ai essayé node javascript/app.js sans succès. C’est quoi le point d’entrée pour lancer cette app ???  

node javascript/app.js

/home/ldreux/Workspace/Projects/Temp/notes/javascript/app.js:5
  global.document = document;
                    ^
ReferenceError: document is not defined
    at Object. (/home/ldreux/Workspace/Projects/Temp/notes/javascript/app.js:5:21)
    at Object. (/home/ldreux/Workspace/Projects/Temp/notes/javascript/app.js:839:4)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:901:3

[quote=“Ivru, post:5, topic: 55187”][/quote]

Springseed n’a strictement rien à voir avec springsource.

[quote=“Ivru, post:5, topic: 55187”][/quote]

Perso, quand je rentre dans une technologie que je ne connais pas, j’aime avoir une vue globale sur les outils, proccess, bonnes pratiques avant de rentrer dans le détail.

Je vais peut-être dire une bêtise, je n’utilise NodeJS que de très loin, mais vu que c’est un serveur Web il ne suffit pas de le lancer ? Et quelque part dans un fichier de conf il a une propriété pour un répertoire type htdocs qui pointe là où tu as ton JS ?

Edit :

Donc j’ai bien dit une bêtise (ou  en tout cas ce n’est pas obligatoire de faire comme ça).

http://stackoverflow.com/questions/11305355/newbie-node-js-queries

T’as bien installé les dependances ?

Si tu suis un tuto nodejs tu comprendras peut être d’ou vient ton problème… Mais tu as certainement raison, autant installer un truc, ne rien comprendre et demander de l’aide sur un forum au lieu d’essayer de comprendre. T’es pas dev java à la base toi ?

et si tu mettais ton js dans un page html du genre index.html :wink:

pour mon nodejs webkit, c’est comme ça que je fais, j’indique comme point de depart ma page html qui load tout et fait le café ensuite :wink:

dans mon package.json j’ai :

{
  « name »: « Test »,
  « main »: « index.html »,
  « window »:
  {
    « show »:true,
    « toolbar »:false,
    « frame »:false,
    « position »:« center »,
    « width »:400,
    « height »:280,
    « min_width »:400,
    « min_height »:280,
    « resizable »:false,
    « alpha »:true,
    « transparent »: true
  }
}
 

Merci Donjhon, c’était juste node webkit que je ne connaissais pas. J’ai packagé springseed comme indiqué dans la doc https://github.com/rogerwang/node-webkit/wiki/How-to-package-and-distribute-your-apps et j’ai pu la lancer sans problème.

Je vais commencer à faire quelques tests maintenant.


[quote=“Ivru, post:8, topic: 55187”][/quote]

Ça troll sévère. J’essaye de comprendre les différentes étapes et outils nécessaires pour exécuter un soft à base de nodejs.