42 votes

Quelle est la philosophie d'ExtJS? Demande d'une seule page?

J'ai besoin d'écrire mon prochain projet à l'aide de ExtJs. C'est une belle lib Javascript mais je ne comprends pas tout l'idée derrière tout cela. Prendre les docs de la page par exemple.

Je suis censé écrire mes applications web avec extjs comme ça? Une page qui ne devrait jamais être actualisé, et tout se fait en AJAX?

Comment déboguer des applications telles si arriver à la bonne place peut prendre beaucoup de "cliquer" et de travailler avec elle. Vous ne pouvez pas corriger le bug et cliquer sur "actualiser" dans le navigateur pour voir le résultats.

Toutes les suggestions?

44voto

rwilliams Points 11715

Je suis censé écrire mes applications web avec ExtJS comme ça? Une page qui ne devrait jamais être actualisés, et tout se fait en AJAX?

Vous n'avez pas à écrire vos applications comme le ExtJS de la documentation. Si vous regardez les pages d'exemple pour ExtJS vous verrez beaucoup de mélange de HTML avec Ext widgets sur les pages individuelles. Dans mon travail, j'ai deux applications différentes que je suis avec ExtJS, l'un est un ancien site où je utiliser les widgets pour embellir les pages, et l'autre est une véritable application web en utilisant rien mais ExtJS pour le front-end. Je préfère largement la dernière fois j'ai eu un coup de lui, mais la courbe d'apprentissage est assez raide.

Comment déboguer des applications telles si arriver à la bonne place peut prendre beaucoup de "cliquer" et de travailler avec elle.

La clé ici est de modulariser votre application. La construction de chaque composant individuellement et de le tester dans un vide. Ne pas se laisser prendre à cette pensée doit être un géant fichier JavaScript qui contient l'ensemble de l'application. Dans la plupart des applications web de la source avait des dizaines ou plusieurs fichiers JavaScript qui ne sont combinés pour le déploiement des fins.

Un must pour les tests et le débogage est firebug. Il vous permet d'inspecter des requêtes Ajax, de débogage du JavaScript en live et beaucoup de beaucoup plus.

Voici une série d'articles sur la composition des grandes Applications à l'aide de ExtJS, un assez décent lire, avec beaucoup de bonnes infos.

La construction d'un exemple d'application dans ExtJS 4 Part1 Part2 Part3

Pour ExtJS 3.3 et ci-dessous Part1 Part2 Part3

Je pense que c'est ok pour utiliser ExtJS dans les deux cas, si vous êtes juste de commencer, il pourrait faire plus de sens de faire ce que vous êtes plus à l'aise et ajouter un peu de ExtJS "spice" le long du chemin. Cela dit, une fois que vous commencer à l'utiliser pour créer une seule page apps et que vous avez votre back-end de la sortie, mais rien de JSON, vous aurez probablement de ne jamais regarder en arrière à la vieille manière que vous avez fait des applications web.

19voto

Dan Herbert Points 38336

Vous pourriez faire ce que modernes à base d'AJAX applications faire et utiliser le hachage de l'URL d'un lien profond de votre application.

Gmail est un excellent exemple de comment cela fonctionne. Pour arriver à ma boîte de réception, je navigue à:

https://mail.google.com/mail/?shva=1#inbox

Pour aller à mon gestionnaire de contacts je naviguez jusqu'à:

https://mail.google.com/mail/?shva=1#contacts

Ces deux "pages" sont sur la même page et la navigation, jamais réellement me redirige vers une autre page alors que je utiliser l'application. Le hachage est tout ce qui change.

Lorsque le chargement de la page, ce que vous devez faire est de vérifier window.location.hash et l'utiliser pour mettre à jour votre application de l'état.

6voto

Robert Koritnik Points 45499

Pas sur une seule page, mais quelques paginé application

J'ai été impliqué dans un projet complexe qui a été construit sur:

  • Asp.net 3.5
  • Les services web WCF
  • ExtJS 2.1
  • .netTiers (avec CodeSmith) pour DAL + DAO
  • SQL 2005 + Cubes OLAP (certains ne le font pas-rappelez-moi de ce cauchemar solutions de contournement qui devait être fait à l'intérieur de l'application, car nous avons utilisé des contrôles tiers, que partiellement pris en charge UpdatePanels et cette seule chose a cassé les principes de base du traitement de notre demande)
  • et personnaliser l'aspect de l'existence de ExtJS - c'était la partie la plus difficile de ExtJS costumization alors je vous suggère de vous en tenir à l'un des thèmes

Nous n'avons pas fait réel d'une seule page de l'application, mais il est vrai que le nombre de pages a été considérablement réduite. Chaque zone de travail au sein de l'application est généralement une page séparée. Tous interface de traitement a été fait sur le client en utilisant ExtJS ou sur le côté serveur au sein des services WCF qui ont fourni des données pour ExtJS de l'interface client.

Il a travaillé beaucoup.

Je serais probablement changer une chose aujourd'hui: j'aimerais migrer à partir de Asp.net + WCF à Asp.net MVC. C'est plus de construire pour ce type de scénario.

En ce qui concerne le débogage nous avons utilisé Firebug (plugin Firefox) largement tout comme n'importe quel autre développeur ferait.

Mais à l'aide de ExtJS de la bibliothèque a été un grand succès. Il facilement possible de créer un ordinateur de bureau comme des données lourds de l'application web. C'est un grand unifiée de la bibliothèque pour tous les professionnels de l'intranet de développement d'applications web. Avec jQuery et c'est des plugins, vous êtes toujours laissé seul avec différentes bizarreries de ces plugins, que la communauté fournit la. ExtJS est très unifié, à cet égard, et fournit un vraiment agréable à regarder et se sentir hors de la boîte.

3voto

pedromarce Points 3036

Je pense que c’est l’idée qui correspond, d’une certaine manière, au sentiment de bureau des applications dans un environnement Web, c’est-à-dire que presque tout fonctionne avec Ajax.

En ce qui concerne le débogage, firebug est votre ami. Mais cela ne devrait pas être différent de déboguer une application de bureau où beaucoup de clics peuvent être impliqués pour obtenir le bogue.

2voto

Dave Points 31

Vous pouvez utiliser quelque chose comme écouteur onHashChange, avec ce que j'appelle le format "fermeture" pour charger l'écran extjs. J'ai écrit un article sur la création d'une application extjs d' une seule page .

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