Jump to content

JavaScript Patterns


Recommended Posts

Dosta citam o javascript patternima, interesuje me koji koristite, prednosti i mane istog. Da li je potrebno koristiti vise ili se moze opredeliti za jedan i raditi po tom principu bez obzira na projekat koji imate pred sobom.

 

Sta mislite o Publish/Subscribe patternu? Vidim da ga dosta ljudi koristi, koji su sa ActionScript programiranja presli na JS.

 

Generalno prednosti i mane vanilla JS u odnosu na neki framework: angular, backbone?

 

Koliko brzo treba preci na ucenje frameworka sa vanilla JSa?

 

 

 

Link to post
Share on other sites

Ako vec citas, nadam se da citas odavde:

 

http://addyosmani.com/resources/essentialj...npatterns/book/

 

Dosta citam o javascript patternima, interesuje me koji koristite, prednosti i mane istog. Da li je potrebno koristiti vise ili se moze opredeliti za jedan i raditi po tom principu bez obzira na projekat koji imate pred sobom.

 

Hmm, ne. Nema smisla opredeliti se za jedan,

Jedino ako ces ceo zivot raditi samo jedan, usko specifican tip aplikacija. :)

 

Paterni su ti oprobana resenja za takav i takav tip problema, znaci to nije nesto sto ti izaberes i kazes: e sad radim ovo, nego, dok radis na projektu, ti se susreces sa raznim problemima unutar tog projekta. Tvoje je da prepoznas koji je pattern najbolje iskoristiti za taj problem.

 

Ti mozes izabrati jedan pattern da organizujes kod u celom projektu (recimo modular, ili MV*) ali to nije kraj, unutra tih klasa ces naici na druge probleme, koji zahtevaju singleton, constructor, observer, mediator, facade...

 

Tvoje je da ih prepoznas i iskoristis odgovarajuci pattern za odgovarajuci problem.

 

Sta mislite o Publish/Subscribe patternu? Vidim da ga dosta ljudi koristi, koji su sa ActionScript programiranja presli na JS.

 

PubSub je odlican pattern, jer ti omogucava jednu vaznu stvar, a to je decouple-ing koda. Sa njim mozes (i trebas!) da prestanes da razmisljas o tome sta se desava nakon neke akcije, vec jednostavno, ispalis event o tome da se nesto desilo - a onda sa drugih mesta reagujes na odgovarajuci nacin na taj event. Kada bi pokusao da uradis istu stvar bez toga, video bi koliko je to beskrajno komplikovano.

 

Generalno prednosti i mane vanilla JS u odnosu na neki framework: angular, backbone?

 

Zanemarljive performanse. U teoriji, tvoj vanilla js treba da je brzi, medjutim, frejmwork nudi toliko korisnih stvari, da ti ispadas lud ako krenes da radis vanilla js za sve sto ti treba duze od dva sata. Posebno na ogromnim projektima, jednostavno je ludost krenuti u ogroman projekat bez JS frejmwork-a.

 

Koliko brzo treba preci na ucenje frameworka sa vanilla JSa?

 

Cim naucis osnove jezika, ne moras cekati da postanes sad neki nevidjeni strucnjak, bezveze gubis vreme ;)

 

 

Link to post
Share on other sites

Da, to je upravo ta knjiga :)

 

Hvala na korisnim informacijama, to mi je bilo bitno da znam, da se kroz pisanje koda jedne aplikacije koristi vise patterna kad se ukaze potreba.

 

Da, shvatam da cu kroz praksu i programiranje nauciti pojedinosti samog JSa. Shvatio sam koncept OOP programiranja i sintaksu jezika, verovatno je vreme da krenem u neki framework.

 

Ukratko, koji ti framework preferiras ili si mozda najvise koristio u izradi razlicitih projekta do sada?

Link to post
Share on other sites

Jos jedno od pitanja koje mi prolazi kroz glavu je:

Kako naci primere koji bi pratili moj nivo znanja, na kojima bi vezbao Javascript?

 

Obicno zavrsim sa nekim komplikovanim stvarima koje prevazilaze ono sto trenutno znam i tu udarim u zid, ili izgubim dosta vremena i iskomplikujem kod a krajni rezultat opet nije dobar :)

 

Link to post
Share on other sites

Jako tesko :)

 

Sve je to stvar neke procene.

 

Besmisleno je raditi malu skripticu koja mrda nesto po stranici sa angularom.

Isto je besmisleno ogromnu client side aplikaciju sastavljati iz gomile jQuery plugin-ova, i skripti.. tu ti treba frejmwork.

 

Proceni kompleksnost toga sto radis, i uoptrebi pravu stvar.

 

Ovo je verovatno pogresno, ali ti moze dati neku predstavu

 

- 1 fajl &

- 1 fajl & > 300 linija koda - definitivno AMD modul, po mogucstvu razbiti na vise

- 2+ fajla & sve ukupno oko 1000 linija koda - definitivno require + amd (ili drugi loader sistem), mozda i da prebacis u frejmwork

- sve preko 2k linija je dobar kandidat za frejmwork

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...