34 votes

Seaside est-il toujours une option valable ?

Bord de mer vient d'être publié une version candidate pour la prochaine version 3.0, et il est donc réapparu sur mon radar. Comme je suis actuellement en train de réfléchir au framework web à utiliser pour un futur projet, je me demande si c'est quelque chose à considérer. Hélas, la plupart de la publicité pour Seaside date de 2007, ce qui représente probablement une ou deux générations pour le web. J'espère donc que la communauté ici présente pourra répondre à certaines questions.

  1. Les frameworks basés sur la continuité étaient plutôt bien adaptés lorsque la plupart des flux de travail étaient principalement en HTML, par exemple les soumissions de formulaires. Aujourd'hui, dans les environnements à forte composante JavaScript, cela ne semble plus avoir de sens.

  2. Squeak est-il capable de supporter une charge de travail raisonnable ? D'après d'autres questions posées ici et ailleurs, il semble que pour une mise à l'échelle correcte, une autre implémentation (Gemstone, etc.) serait probablement meilleure à long terme, mais je n'ai pas une idée précise de la distance à parcourir. Les sessions semblent être plutôt coûteuses.

  3. Je sais que les comparaisons sont difficiles, mais la plupart des articles que vous trouvez sur le net mettent Seaside et Rails côte à côte. Comment feraient des combinaisons comme Scala/Lift, Clojure/Compojure ou Erlang/Nitrogen à la place ?

19voto

Lukas Renggli Points 6454

J'ai les réponses aux questions 1 et 2 :

  1. Ceci est vrai. Cependant, depuis la version 2.8, Seaside n'est plus un framework strictement "basé sur la continuation". Seaside utilise les continuations dans le module de flux uniquement. Depuis Seaside 3.0, le module de flux est même optionnel. Notez également que Seaside a un fort support Javascript depuis 2005, c'est-à-dire bien avant que les frameworks grand public ne commencent à ajouter des fonctionnalités Javascript. Aujourd'hui, Seaside est livré avec le support intégré de JQuery et JQueryUI.
  2. Bien entendu, cela dépend de ce que vous stockez dans vos objets de session, mais les sessions sont généralement de petite taille (moins de 20 Ko). Utilisez le profileur de mémoire de votre application pour déterminer la consommation exacte de mémoire.

15voto

Mariano Peck Points 461

Et il y a un nouveau livre sur le bord de mer : http://book.seaside.st/book

11voto

Janko Mivšek Points 3054

En Smalltalk, nous avons maintenant trois frameworks web à considérer, en plus de Seaside également

Les deux derniers résolvent efficacement le flux de contrôle de type trois, mais sans avoir besoin de continuations. Les deux ont également une intégration Ajax très forte, en fait vous ne vous rendez plus compte que vous travaillez avec Ajax.

Tous deux ont également une bonne consommation de mémoire. 10.000 sessions dépensent 220MB dans Aida/Web, cela représente environ 23KB par session, qui peut être optimisé jusqu'à seulement 400B par session. Cela signifie que vous pouvez faire fonctionner non seulement un mais plusieurs sites web à partir d'une seule image Smalltalk. Bien sûr, vous pouvez toujours passer à une solution d'équilibrage de charge, lorsque vous en avez vraiment besoin. Ce qui, d'après mon expérience, est très rarement nécessaire.

Par rapport à Ruby on Rails, un de mes amis s'est plaint d'avoir besoin de 50 Mo de mémoire au départ pour chaque site de boutique en ligne qu'il vend. Il s'est ensuite tourné vers la solution Aida/Web, qui nécessite environ le même Mo pour l'image, mais seulement quelques Ko pour chaque site de boutique en ligne supplémentaire.

11voto

Stephan Eggermont Points 11224

Je trouve que la productivité du travail dans un IDE Smalltalk avec un bon ensemble d'abstractions l'emporte sur tous les autres problèmes dans les projets dominés par l'ingénierie. Il fonctionne bien comme système d'entreprise pour une petite société avec environ 100 utilisateurs (simultanés, mais pas lourds) sur un seul serveur (sans passer au SSD). Depuis 2007 :

  • Seaside a montré qu'il était capable de passer des flux de travail en html à ceux en javascript ;
  • Seaside a été porté sur un grand nombre de Smalltalks différents ;
  • A vu Gemstone sortir GLASS ;

Le nouveau vm "cog", dont les performances ont été considérablement améliorées, est sorti il y a quelques semaines et est très prometteur.

4voto

Richard Durr Points 844

Avi Bryant, le développeur de Seaside, a déclaré qu'AJAX triomphe des continuations dans presque toutes les situations. Néanmoins, vous pouvez construire des applications raisonnablement puissantes avec Seaside et AJAX, également.

La partie application d'une application Web peut être réalisée dans d'autres cadres de travail en utilisant Ajax.

Je pense qu'il manque actuellement un framework Smalltalk-to-Javascript intégré à Seaside comme Cappuccino-for-Clamato. J'aimerais être capable de construire de vraies applications Javascript en utilisant Smalltalk.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X