2010-12-08 9 views
2

Bonne journée,SmartGWT, ZK et GenericFrame - Travail à domicile en ligne

Notre école, une petite école secondaire en Nouvelle-Zélande semi-rural, étudie actuellement des solutions de devoirs en ligne. Étant l'un des informaticiens, on m'a demandé d'examiner certaines des options. Nous avons vérifié et il n'y a pas de solutions robustes qui couvrent ce que nous recherchons. Nous envisageons donc de développer notre propre système, soit seul, soit en collaboration avec d'autres écoles. Avant de consacrer beaucoup de temps à une option, je pensais que je devrais demander des conseils d'experts. S'il vous plaît gardez à l'esprit que l'un de nos principaux obstacles est que près de 20% de nos étudiants sont connectés car le haut débit n'est pas disponible dans leur région.

Nous ne sommes pas limités aux technologies listées, ce sont celles que nous avons étudiées jusqu'ici.

Dans cet esprit, c'est ici. 1. Existe-t-il un moyen de déterminer à l'avance la bande passante nécessaire pour ces technologies? 2. Si la bande passante continuait à être trop limitative, la solution finale pourrait-elle être autonome pour que nous puissions la distribuer aux étudiants sur CD ou clé USB? 3. Quels sont les avantages et les inconvénients de chaque utilisation avec les bases de données, en particulier mysql ou postgresql? (Après tout, nous avons besoin de garder une trace de beaucoup de données) 4. Quels sont les avantages/inconvénients de chacun de ces développements RIA?

J'apprécie tout le monde pour partager son temps et son expertise sur le sujet.

Cheers, Ben

Répondre

1

1) Si vous écrire des applications AJAX complète, comme dans GWT, le bandwitch sera: a) la taille du script java d'application, les images, etc., vous pouvez envisager que tout est chargé lorsque l'utilisateur se connecte (le cache pour les images peut sembler être grand, mais il est facilement surchargé) b) la taille de la communication - dans GWT cela ne dépend que de vous! pas de magie rechargement full-frame, l'envoi est seulement ce que vous voulez envoyer

2) Je ne prends votre point, applications autonomes peuvent être distribuées de telle manière, les applications qui utilisent des bases de données en général ne peuvent pas

3) postgresql a une grande compatibilité avec Oracle - même transaction + select pour le comportement de mise à jour, pgPLSQL est fortement inspiré par PL/SQL (facile à réécrire les procédures stockées).

1

Je suggère personnellement MySQL pour un projet d'école pour sa simplicité. PostgreSQL est puissant mais un peu compliqué à configurer et l'outil visuel pour optimiser les requêtes n'est pas bon. Sans tenir compte de la bande passante, je suggère définitivement ZK car, encore une fois, il est beaucoup plus facile à apprendre, à développer et à maintenir (aussi beaucoup plus puissant). La consommation de bande passante et la latence de GWT dépendent vraiment de l'effort que vous voulez investir et de la compétence de vos employés en matière de calcul distribué, alors que la bande passante du réseau est essentiellement l'état de l'interface utilisateur (pas de données). Bref, vous pourriez avoir la meilleure bande passante et la meilleure latence du réseau si vous l'optimisez au mieux avec GWT, alors que ZK est moins inquiétant, mais si vous voulez vous améliorer, vous devez utiliser jQuery (c'est-à-dire JavaScript).

+0

Vous avez trouvé mentionné SmartGWT dans le titre. Veuillez noter que SmartGWT est très différent de GWT. Il a son propre mécanisme de source de données pour améliorer la productivité mais cela signifie que vous n'avez pas beaucoup de contrôle sur la bande passante. En outre, il s'agit d'une couche GWT au-dessus d'une solution JavaScript, SmartClient - cela signifie qu'il est difficile de déboguer dans l'outil de GWT –

1

Merci lechlukasz, j'apprécie vos commentaires et perspicacité.

Je vais clarifier mon point concernant les applications autonomes. Nous avons un certain nombre d'étudiants, jusqu'à 20%, qui n'ont pas accès au haut débit en raison de leur situation géographique. Nous considérons, dans le cadre de la conception, comment nous pouvons être en mesure de distribuer une version autonome. Par exemple, si nous devions résumer tous les appels de base de données en utilisant une classe distincte dans GWT, nous pourrions recompiler une version autonome qui n'a pas fait les appels de base de données. La base de données ne serait probablement que pour le suivi des résultats et des rapports.

En réalité, nous implémenterions probablement le produit frontal en premier avec des références à des méthodes vides pour stocker les résultats dans une base de données et implémenter ces méthodes ultérieurement. Pour l'anecdote, nous avons commencé à coder quelques cas de test en utilisant GWT/SmartGWT et sommes satisfaits des résultats. Bien que nous ne puissions pas commenter les autres technologies considérées parce que nous ne les avons pas essayées dans la même mesure, nous sommes satisfaits des résultats à ce stade du projet.

Cheers, Ben