nemec Posted May 25, 2012 Report Posted May 25, 2012 Kā jūs veidojāt javascript aplikācijas? Kā testējat? Kādus rīkus lietojat? Ar javascript aplikāciju es domāju jau +/- kaut ko nopietnu, nevis daži ajax pieprasījumi. Quote
0 codez Posted May 25, 2012 Report Posted May 25, 2012 (edited) Es izmantoju pamatā jquery, jqueryui. Widgetus taisu ar jquery widget factory. Modeļus un kolekcijas taisu ar Backbone. Interesants ir arī Backbone rountings, bet vēl praktiski neesmu izmantojis kādā projektā. Izmantoju arī underscore bibliotēku. Daudz konstantus datus lādēju kā js failus, lai kešotos. Pamatā parasti izmantoju vienu globālo aplikācijas objektu, kurā definēju visas aplikācijas funkcijas un citu objektus. Izmantojot Backbone eventus, realizēju signals/slots paternu, lai varētu taisīt many to many loose coupled komponenšu saiknes. Tas ir tā, piemēram, kaut kur tiek nodetektēts, ka lietotājam ir atnākusi jauna vēstule, šeit izcau globālu signālu: App.trigger('user:newmessages',[n]); uz šo reāģē attiecīgie sloti, kuri var būt un var nebūt. Piemēram header widgets var ielikt slotu un izmainīt jauno vēstuļu skaita skaitli pie ikoniņas. Bet tik pat labi var arī nebūt un viss strādās bez kļūdām. Tāpat var būt arī citi objekti, kas var reaģēt uz šo signālu pilnīgi neatkarīgi. App.on('user:newmessages',function(n){ $messages.html(n); }); Arī widgetus būvējot parasti netais nekādas callback funkcijas, vai citu ciešas saiknes, bet visur izmantoju eventu modeļus. Testēšana: PHPUnit + Selenium. Edited May 25, 2012 by codez Quote
0 daGrevis Posted May 25, 2012 Report Posted May 25, 2012 Tu testē JavaScriptu ar phpUnit? Iemāci man! Quote
0 rATRIJS Posted May 25, 2012 Report Posted May 25, 2012 Palasi kas ir Selenium un kā PHPUnit ar to integrējas. Quote
0 nemec Posted May 26, 2012 Author Report Posted May 26, 2012 Es izmantoju pamatā jquery, jqueryui. Widgetus taisu ar jquery widget factory. Modeļus un kolekcijas taisu ar Backbone. Interesants ir arī Backbone rountings, bet vēl praktiski neesmu izmantojis kādā projektā. Izmantoju arī underscore bibliotēku. Daudz konstantus datus lādēju kā js failus, lai kešotos. Pamatā parasti izmantoju vienu globālo aplikācijas objektu, kurā definēju visas aplikācijas funkcijas un citu objektus. Izmantojot Backbone eventus, realizēju signals/slots paternu, lai varētu taisīt many to many loose coupled komponenšu saiknes. Tas ir tā, piemēram, kaut kur tiek nodetektēts, ka lietotājam ir atnākusi jauna vēstule, šeit izcau globālu signālu: App.trigger('user:newmessages',[n]); uz šo reāģē attiecīgie sloti, kuri var būt un var nebūt. Piemēram header widgets var ielikt slotu un izmainīt jauno vēstuļu skaita skaitli pie ikoniņas. Bet tik pat labi var arī nebūt un viss strādās bez kļūdām. Tāpat var būt arī citi objekti, kas var reaģēt uz šo signālu pilnīgi neatkarīgi. App.on('user:newmessages',function(n){ $messages.html(n); }); Arī widgetus būvējot parasti netais nekādas callback funkcijas, vai citu ciešas saiknes, bet visur izmantoju eventu modeļus. Pa lielam tā pat kapāju. Migrēju nesen atpakaļ no mootools uz jquery. Jo, ja lieto backbone, tad baigais ķīselis sanāk - backbone, mootools, jquery, underscore, tāpēc vismaz no viena monstra vajadzēja atteikties. Žēl, ka mootools nepalika populārs (kā Džastins Bībers) un tam nav labas alternatīvas backbone, bet rakstīt savu MVC protams, ka negribēju. Nepatīk taisīt velosipēdus. Backbone ir tāds bonuss, ka tas ir baigi maziņš, tātad viegls/ātrs koda izpētei/iebraukšanai. Vēl lietoju coffee. Testēšana: PHPUnit + Selenium. Selenium mani mazliet kretinē, jo ir lēni tā testēt. Varbūt arī nākotnē rakstīšu kaut kādas daļas, bet pagaidām to nedaru. Nu un ja lieto rest, tad arī jēga testēt ar selenium daļēji pazūd. Lietoju qunit, sinonjs un protams TDD :) Te, atkal, nāk jau citas problēmas - nav saintegrēts IDE, tātad jāskatās pārlūkā rezultāts, nav reportu utt. Te laikam vainojama mana atpalicība, jo ir visādi rhino un gan jau var saslēgt ar IDE. Ar sinonjs problēmas sagādā ajaxu testēšana. Pat neesmu atkodis kā uz viena url uzlikt vairākus POST pieprasījums, atkarībā no sūtītiem datiem. Quote
Question
nemec
Kā jūs veidojāt javascript aplikācijas? Kā testējat? Kādus rīkus lietojat?
Ar javascript aplikāciju es domāju jau +/- kaut ko nopietnu, nevis daži ajax pieprasījumi.
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.