nemec Posted May 25, 2012 Report Share 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 Link to comment Share on other sites More sharing options...
0 codez Posted May 25, 2012 Report Share 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 Link to comment Share on other sites More sharing options...
0 daGrevis Posted May 25, 2012 Report Share Posted May 25, 2012 Tu testē JavaScriptu ar phpUnit? Iemāci man! Quote Link to comment Share on other sites More sharing options...
0 rATRIJS Posted May 25, 2012 Report Share Posted May 25, 2012 Palasi kas ir Selenium un kā PHPUnit ar to integrējas. Quote Link to comment Share on other sites More sharing options...
0 nemec Posted May 26, 2012 Author Report Share 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 Link to comment Share on other sites More sharing options...
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.
Link to comment
Share on other sites
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.