J'ai participé à l'écriture d'un vaste JavaScript de l'application avec les deux SproutCore et de Cappuccino et sans aucune "Macroframework". C'est ce que je pense:
Tout d'abord, tout de même "good design" des principes que vous avez acquises dans votre travail avec Java continuent de s'appliquer: ne pas écrire de code Spaghetti, encapsulent des préoccupations distinctes et l'utilisation de MVC.
Beaucoup de gens commencent à la rédaction d'un "web 2.0" ou "web 3.0" (quoi que cela signifie) application, il suffit d'ajouter jQuery et aller en bas d'un chemin de souffrance et de misère, alors que le code devient de plus en plus gros et complètement désuète.
Le "gros" des cadres comme le Cappuccino ou SproutCore vous aider à éviter de faire cela. Cappuccino est idéal pour le bureau de style apps tout SproutCore a changé d'orientation en 2.0 "de style pour le web" de Nouvelles applications comme Twitter, tout en vous donnant d'excellents moyens de la structure de vos applications et de votre code.
Maintenant à vos domaines ou de l'intérêt:
Environnement De Développement
Personnellement, j'utilise MacVim. J'ai entendu de bonnes choses au sujet de Cloud9IDE, un navigateur IDE pour JS développement. Pour le Cappuccino, vous pouvez utiliser Apple Xcode IDE, même à la conception de l'Isu (ce qui est très cool).
Les deux Cappuccino et SproutCore les applications peuvent être testés à droite dans le navigateur, sans avoir besoin d'un serveur web. Si vous avez besoin de parler à un serveur web (vous), Ruby on Rails ou node.js sont couramment utilisés pour obtenir facilement un backend en place et en cours d'exécution.
Techniques De Débogage
Le débogage est encore une sorte de mal de place quand il s'agit de développement JavaScript. Le Google Chrome developer tools sont les meilleurs là-bas à la moment. Vous pouvez définir des points d'arrêt à droite dans le navigateur et toutes sortes de choses intéressantes. C'est l'outil que vous souhaitez utiliser.
Les Tests Unitaires
SproutCore utilise QUnit, Cappuccino est livré avec OJUnit/OJSpec. Ensuite, il y a des projets comme JSDOM et env.js qui vous permettent de simuler un navigateur sur le serveur et de vous donner un environnement pour exécuter des tests automatisés sans navigateur.
Aussi des projets comme le Sélénium ou le Jasmin sont la peine de vérifier.
Profilage/Instrumentation
Vous pouvez faire de profilage avec le Chrome Dev Tools.
YSlow est idéal pour les applications web généraux de profilage (y compris les actifs de chargement et autres).
La Conception Du Système
Utiliser MVC, à partir de l'obtenir-aller. Beaucoup de gens commencent avec une petite application et ajouter un peu de JavaScript ici pour lire la valeur d'un champ et un peu plus de JavaScript, il y à une mise à jour de l'étiquette. Ils le font encore. Et de nouveau. Et le dîner est servi: code Spaghetti. L'utilisation d'un framework comme SproutCore ou backbone.js pour éviter que la structure de votre code.
C'est un bon tutoriel pour SproutCore, c'est un pour backbone.js.
En va de même pour le Cappuccino, voici un tutoriel que j'ai écrit il ya environ un an. C'est un peu daté, mais vous donne l'idée générale. Voici une mise à jour de la démo app que j'ai fait pour un article que j'ai écrit pour MacTech magazine en Mai.
Si la structure de votre code comme vous le feriez dans tout autre environnement de développement. Peut-être lire ce livre ou ce livre, trop. Ces vidéos sont également une excellente ressource.
La Conception De L'Interface
Pour Cappuccino, vous pouvez utiliser Apple Xcode, Interface Builder graphiquement la disposition de votre INTERFACE utilisateur. Pour la plupart des autres systèmes de la conception de votre INTERFACE utilisateur avec la norme HTML et CSS.
Si vous souhaitez développer pour les mobiles, vous devez lire cet article.
La Conception De Code
Consulter les livres et les vidéos que j'ai mentionné ci-dessus. Et consulter ce général style de codage. Naturellement, les gens sont en désaccord sur certains aspects du style énoncées sur cette page, mais c'est un bon point de départ.
JavaScript est un milieu stimulant pour développer et il a un très dynamique de la communauté! Vous devriez vous joindre à la fête! J'espère que mes opinions ont été utiles pour vous.