Jump to content
php.lv forumi

Backbone, AngularJS un EmberJS


daGrevis

Recommended Posts

Nosauktie freimi ir vispopulārākie, cik skatos. Vai kādam ir pieredze ar viņiem, lai spētu salīdzināt? Projektam nepieciešama JavaScript struktūra, tāpēc tiek meklēts JavaScript freimvorks. Pagaidām esmu iepazinies Backbone, bet par pārējiem nav zināšanu. Negribētu izvēlēties nepareizo «bekbounu». Prasības ir IE8 atbalsts, maz maģija, MVC struktūra, kas _make sense_ un jau iebūvēts REST API ir pluss! DOM manipulācijām tiek un tiks izmantots jQuery. Lūdzu nesākam par to, ka Vanilla JS ir pats labākais....

Link to comment
Share on other sites

Protams, vajadzētu visiem rakstīt labu, skaidru un saprotamu kodu. Perfektā pasaulē tā ir, jā!

 

Realitātē ir nepieciešami gaidlains, kas pasaka — tas ir tur, šis ir šeit.

Link to comment
Share on other sites

Mana pieredze ir tāda, ka MVC paterna izvēle javascriptiskā aplikācijā nav tas labākais variatns, jo vienkārši tādu aplikāciju specifika ir savādākā, pats DOM un ar to saistītā lietas dabīgi nesader kopā ar MVC. Tā vietā labāk ir izmantot observer paternu. Lai gan ir vietas, kur raksta, ka Observer paterns ir tas pats MVC. Tā gluži nav.

Modeļi ar REST api arī īsti neder, jo parasti js aplikācija veic ajax pieprasījumus, nevis lai izdarītu kaut ko ar konkrētu modeli, bet veiktu kaut kādu darbību, kurā parasti ir iesaistīti vairāki modeļi.

Arī routeri js aplikācijā ir vajadzīgi tikai tad, ja taisa javascriptiski mainīgus ceļus, bet tas savukārt rada ļoti daudz problēmu - kā, nestrādājoš SEO, pareiza lapu inicializācija pie dažādu saišu ielādes.

Es personīgi esmu nonācis līdz tam, ka izmantoju jquery, jqueryui un underscore, bet visu pārējo abstrakciju veidoju pats, jo visos FW viņa ir tāla no konkrēto projektu nepieciešamībām, bet tai pašā laikā satur daudz lieka.

Edited by codez
Link to comment
Share on other sites

 

Modeļi ar REST api arī īsti neder, jo parasti js aplikācija veic ajax

pieprasījumus, nevis lai izdarītu kaut ko ar konkrētu modeli, bet veiktu

kaut kādu darbību, kurā parasti ir iesaistīti vairāki modeļi.

Vai vari sīkāk paskaidrot, nesapratu domu.

 

 

Arī routeri js aplikācijā ir vajadzīgi tikai tad, ja taisa

javascriptiski mainīgus ceļus, bet tas savukārt rada ļoti daudz problēmu

- kā, nestrādājoš SEO, pareiza lapu inicializācija pie dažādu saišu

ielādes.

SEO sāpīgi uztaisīt, bet var. Ja tā ir aplikācija, tad SEO visticamāk nav vajadzīgs. Ar saitēm nav problēmu, tikai dažas rindiņas koda http://backbonejs.org/#History

 

 

Pats strādāju ar Backbone. Ļoti vienkāršs ietvars, daudz komentāru kodā un paša koda ir maz, kas priecē. Teorētiski ar šo ietvaru var uzbūvēt jebkāda lieluma aplikāciju un taisīt to vienmērīgā tempā, kas manā gadījumā ir pats galvenais. Tā kā kods ir sadalīts (model un view), tad arī ar TDD var pilnīgi visu pārklāt un viegli taisīt jaunu funkcionalitāti. Patīkami lasīt pa detaļām un beigās tikai atvērt gala aplikāciju, lai pārliecināties, ka viss ir kārtība.

 

Ir arī dažas problēmas. Kā piemēram, tad view`ā pašam nepieciešams atjaunot vērtības tiklīdz nomainās model`ī. Iespējams, ka tas ir labi, bet iespējams ka nē, trūkst pieredzes. AngularJS dara pretēji. Pašam arī daudz nāksies programmēt vai izmantot "svešus" spraudņus un cerēt, ka nelīdīs ārā daudz kļūdu.

 

 

Mazliet ne par tēmu. Vispār uzskatu, ka ar laiku visiem vajadzēs tādā stilā programmēt un serveris tiks izmantots tikai kā REST. Jo:

1) Aplikācija ir ļoti ātra.

2) Serverim nav jāģenerē HTML utt, tātad palielinās tā kapacitāte.

3) Servera pusi viegli pārklāt ar testiem, jo tas nav HTML, kas beigās nāk ārā.

4) No 3. punkta sanāk, ka servera programmētājam nav jāpamet IDE (laid testus un labo kodu) un nav jāizmanto pat pārlūks.

5) Caurspīdīga programmētāju dalīšana, kas palielina izstrādes ātrumu (gan servera pusē, gan klienta pusē).

6) Var taisīt jebkādus klientus (web, pc utt).

7) Klienta puses bonusus var saprast no apraksta augstāk.

Link to comment
Share on other sites

  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...