Jump to content

Game changer - web components


Recommended Posts

  • 1 year later...
  • 5 months later...

Kako to da je ovaj deo fouma ovoliko umro, s obzirom na celu front end revoluciju koja se desila? Sta se sve promenilo u ovoj oblasti, sta je danas, ono sto je 'veb dizajner' (u nas) bio pre 10 godina?

 

ukucao sam backbone u pretragu, i izaslo je milion oglasa u poslovima za front end dev-a, a jedna tema u client sciptingu?

Link to post
Share on other sites

Mi mo ti prijatelju IRC server u doba WhatsUp-a :/

 

Ja takodje imam 50004 zanimljive stvari da pricam, pokazem, ali je otprilike 90% toga pokrivenom NDA ugovorom, pa moram cutim.

 

Planiramo da (u nekom trenutku, trebalo je jesenas, ali ne znam do kada pomereno) organizujemo neku konferenciju kod nas u firmi, u okviru koje bih ja drzao neko predavanje o FE/JS/Bacbkbone/Organizaciji 10+kloc projekta/privatnim bower repos/itd...

 

Ali je to sada na holdu, privremeno, a kada bude spreman datum saljem ovde invite svima.

Link to post
Share on other sites
  • 2 weeks later...

Jesu li postojali grunt, bower, yeoman i sl. kada je ovaj podforum bio na vrhuncu?

 

 

Ne znam kako najjednostavnije i smislenije da postavim pitanje, ali znam sta hocu da pitam :(

 

Recimo, ako pogledamo opis ovog foruma, sta je na klijentu, html, css, i JS. Jel bi danas idealno u taj opis stavili nesto poput angular.js, ili je to potpuno druga neka oblast?

Link to post
Share on other sites

Pa sve što se izvršava na strani klijenta je client scriting, i sve što se izvršava na strani servera je server scripting ;)

Naravno, postoje tehnologije koje mogu i tamo i ovamo, npr. Java može biti applet na strani klijenta i Java serverlet na strani servera.

 

Angular.js, Backbone.js, Ember.js, jQuery i drugi su samo "frameworks" za Java Script (kod nas se prevode kao "okviri", što mi zvuči smešno, kao i mnogi prevodi, naročito kod Windows OS-a), ali postoje isto tako "frameworks" i za HTML (Boostrap, Yaml, 52, Gumby, itd.), neki su prevashodno za mobilne uređaje, ali je svima cilj da se olakša i ubrza kreiranje jednostavnijih Web sajtova, međutim problem sa istima je što se sa novim verzijama neretko menjaju podržane funkcije ili čak sintaksa za te funkcije, pa ima smisla ozbiljnije se posvetiti učenju istih samo ako ih koristite veoma često, inače za povremenu upotrebu je lakše naći gotove primere i prepraviti ih za svoje potrebe bez ulaženja u "sitna crevca".

Link to post
Share on other sites

Da se ispravim, pošto sam na brzinu kucao pa prepravljao, "framework" je malo širi pojam od onoga što predstavljaju Angular.js, Backbone.js, Ember.js, jQuery i slični, koji predstavljaju, da se preciznije izrazim, Java Script biblioteke funkcija koje omogućavaju programerima da brže odrade neke stvari (umesto da se traži gotov kod za neku funkciju na netu, dovoljno je iskoristiti gotovu funkciju koja postoji u jQuery bibliotecu).

 

Ne bavim se toliko teorijom tako da možda nisam najrečitije i najpreciznije objasnio, mada većina diskutanata ovde zna o čemu se radi, pa je možda i suvišno.

 

A pailhead-ov komentar, tj. pitanje, više shvatam kao nejasnu granicu u interesovanju pojedinaca za Web, bilo da je u pitanju front end ili back end, jer često se mora znati i jedno i drugo da bi se uradio kompletan sajt, naročito ako je baziran na nekom CMS-u, a razvija se nova tema ili se nešto značajnije menja u funkcionalnosti.

Onda se pojave ljudi koji, umesto da postavljaju odvojeno pitanja u temi za server i client scripting, postave sva pitanja na jednom mestu...

 

Možda je rešenje spojiti ta dva podforuma u jedan, a u njima napraviti lepljive teme za HTML, CSS, JS, jQuery, Spry, PHP, itd.

Link to post
Share on other sites

komentar, konfuzija, mozda najbolje da napisem sta me buni, pa da vidimo da li moze to da se resi

 

1. Zasto pre 10 godina nisam cuo za "UX dizajner" ali sam poznavao mnogo 'web dizajnera'. Ovde gde sam sada, znam milion ux dizajnera, nijednog web dizajnera. (nema vise ni graphic designer, vec visual designer, wtf je to)

 

2. Zasto se sada za bilo kakav javascript trazi CS degree, cesto cak i master a pre mozda nije bilo tako?

 

3. koji je generalno profil ljudi koji su danas front end developeri. Odnosno sta je osoba koja zna 'html, css, javascript, jquery' a sta osoba koja radi sa backbone, REST, MEAN stack.

 

 

Zbunjen sam verovatno zato sto radim dosta sa javascriptom zbog webgl-a, ali nikako ne mogu da se snadjem sa MV* frejmvorcima. Razumem closures, razumem kako je moguce raditi OOP sa javascriptom, proucavam patterne, razumem recimo kako funkcionise require.js i sl. I ne znam sta mi fali da bih seo i naucio recimo angular. Da li je potrebno bolje da se upoznam sa domom, da li jednostavno treba malo vise da se upustim u source kod recimo backbone, ili da nadjem neku knjigu o MVC generalno.

 

Uspeo sam da podesim node, mongo, remote na linux masini, ali sam se zapetljao sa angularom, fabrikama servisima, dobrim vilama...

 

 

 

 

Link to post
Share on other sites

1. Svi su sada visual dizajneri, UI dizajneri i sl. jer retko koji web dizajner u današnje radi interfejse samo za Web. UX je "novi tremin" koji je popularizovan u zadnjih par godina ali ako si dizajner već se podrazumeva da barataš sa UX-om.

 

2. Zasićenje tržišta, nothing more. Gomila ljudi danas zna JavaScript i treba nekako filtririati one bolje. Diploma nije uvek ravnopravna ali CS kada je u pitanju, verujem da to nije jedna od oblasti gde možeš da se provučeš na bubicu i sl.

 

3. Na ovo pitanje ti je odgovorio kobayashi.

Link to post
Share on other sites
1. Zasto pre 10 godina nisam cuo za "UX dizajner" ali sam poznavao mnogo 'web dizajnera'. Ovde gde sam sada, znam milion ux dizajnera, nijednog web dizajnera. (nema vise ni graphic designer, vec visual designer, wtf je to)

To je samo stvar trenda. A i to pitanje nema nikakve veze sa ovim podforumom. Doduse mi ni nemamo podforum vezan za tehnicke diskusije o web/ui/ux dizajnu.

 

Recimo, ako pogledamo opis ovog foruma, sta je na klijentu, html, css, i JS. Jel bi danas idealno u taj opis stavili nesto poput angular.js, ili je to potpuno druga neka oblast?

angular.js je i dalje js, kao i bilo koji drugi js framework, a bilo bi krajnje besmisleno navoditi ih sve pojedinacno u opisu podforuma.

 

 

Možda je rešenje spojiti ta dva podforuma u jedan, a u njima napraviti lepljive teme za HTML, CSS, JS, jQuery, Spry, PHP, itd.

Ovo svakako ima smisla - "web development" podforum.

Link to post
Share on other sites

1) trend, spaliti na trgu

 

 

2) zbog toga sto vise nikome ne treba neko ko ce animirati meni, ili napraviti jQ galeriju, vec se prave ogromne single page aplikacije, na kojima rade 2-10+ osoba, sa veoma kompleksnom logikom.

 

Na takvim aplikacijama nije moguce pisati glupavi-sve-u-jednom-fajlu kod, vec dobro organizovan kod, sa dobro osmisljenim patternima (stvari koje se uce na CS, mada sve to isto mozes da naucis i sam)

 

3)

- obican jq/fe developer danas, kao i pre, moze da bude svako

- Angular/Backbone/ MEAN stack rade ljudi sa vise iskusva, iskusniji inzinjeri kojima nije stran oop, drugi jezici, MVCm funkcionalno programiranje, code patterns.

Link to post
Share on other sites

Posto i dalje ne razumem :), sta bi ste meni preporucili?

 

Ubadam projekte na konto webgl-a, ali retko ko hoce da se bakce sa mnom i da mi objasni big picture. Tj objasne mi, ali recimo, sad na poslednjem projektu sam na moju inicijativu sav kod spakovao u modul, napravio interfejs i sve. Opet, kopi pejstovali su iz foldera sa githuba, samo sto je bilo lakse jer je sve bilo organizovano.

 

Imam OOP javascript i You dont know JS knjige. I ok, ovo je dovoljno da bolje organizujem svoj kod za 3d, ali problem je sto webgl zivi u DOM-u i ja verovatno razumem samo jedan mali deo.

 

Svidja mi se node zato sto je JS, svidja mi se mongo zato sto je JS, ali imam osecaj da su svi tutoriali/dokumentacija uradjeni ili za ljude sa gomilom predjasnjeg iskustva (iz neceg drugog), i ne mogu da provalim sta je to drugo.

 

 

 

 

Link to post
Share on other sites
angular.js je i dalje js, kao i bilo koji drugi js framework, a bilo bi krajnje besmisleno navoditi ih sve pojedinacno u opisu podforuma.

 

 

Pa i three.js je tom logikom i dalje js kao bilo koji frejmwork, ali kada bi ga stavljali u opise, ne verujem da bi mu bas bilo mesto sa ovim ostalim, jer nema veze sa 99% stvari sto se inace rade u kontekstu 'client scriptinga'. Slazem se da je besmisleno svaki pojedinacno navoditi, ali gledam da li su u pitanju babe i zabe. Ne znam da li ovo ima smisla, ali ako je css skripting, onda bi angular bio architecting?

 

 

Link to post
Share on other sites

Ti se mucis, i to bez razloga, jer pokusavas da webGL/Three.js uglavis u neki framework.

 

Niti je to moguce, niti je to svhra bilo kojeg frejmworka (FW).

 

Sada, blaga digresija:

Trenutni top JS FW su napisani da olaksaju (trenutno) najtezi problem, a to je pisanje kompleksnih, desktop-like aplikacija u browser-u.

 

Neki su totalno orijentisani na to, i imaju gomilu konvencija, i jako je tesko extendovati ih, ali ti nude sigurnost, proverene patterne i dobre performanse. Drugi su generalniji, i umesto sa dom-om, imaju akcenat na podatke, i otvoreniji su po pitanju povezivanja sa drugim lib-ovima.

 

 

Back to webGL:

 

Sada, ti verovatno hoces da imas sve benefite frejmwork-a (organizacija koda, utility dom metode + data binding) + da radis webGL.

 

Niti ces naci takav FW, niti ces webGL ikako ugurati u neki FW.

 

Ono sto je (po meni) ispravan pristup je da uradis ovo: http://addyosmani.com/largescalejavascript/

 

Tebi treba neka fasada, koju ces podmetnuti izmedju tvog webGL lib-a (three.js) i tvog FW-a. Ja bih napravio nesto sto govori jezik FW-a sa jedne strane (zna da slusa prave evente) a sa druge strane zna da izda odgovarajuce komande webGL lib-u.

 

Time bi napravio svojevrstan API, i sutra ce ti biti lakse, da ako zatreba, zamenis ili FW ili webGL lib.

 

 

Ovim dobijas best of both worlds, FW koristis da pravis UI, organizues kod, saljes podatke ka tvojoj facede klasi, a ona onda to prevodi u webGL instrukcije, cak, u zavisnosti koliko ti je kompleksno iscrtavanje da imas posle fasade jos i dodatne klase za biznis logiku i/ili prepakivanje podataka i format koji je ok za webgl.

 

 

Hope this helps.

 

 

Link to post
Share on other sites

Pa to i hocu da uradim :), nisam mislio da organizujem webgl kod preko FW kao sto je angular. Buni me malo sto si napisao, three.js mi je vec frejmwork, koji sluzi da ne moram da drkam state machine i izdajem rucno draw calls (+ milion drugih stvari).

 

imam ovako nesto

var moja3dScena = (function(){
  var mojRenderer;
  var mojLowLevel3dFrameBuffer;

  function init(){
      //ucitao sam three.js sinkrono pre ovoga
      mojRenderer = THREE.napravirenderer();
      mojLowLevel3dFrameBuffer = THREE.napraviWebGLbuffer();
  };

  function render(){
      mojRenderer.render();
  }

  function uradiNesto3d(){}

  return{
     init:init,
     uradiNesto3d:uradiNesto3d
  }
})();

 

 

Prvo rucno ucitavam three.js, pa sve ostale skripte vezane za 3d i na kraju 3d scenu. Problem je sto moja profesionalna odgovornost tu prestaje, a evo na poslednjem projektu cak su i scenu drugi ljudi izgradili sa nekim obimnijim frejmworkom za animaciju, moj posao je bio importing i render (shaderi i sta kad i kako webgl crta).

 

Na jednom interjvuu (koji je bio doduse zesce wierd, za 3d poziciju, ali zbog webgl interjvuisali su me i UX i inzenjeri) dobio sam komentar za webgl kako nije interaktivno, odnosno ko mi je target audience, posto je sve tako, izgleda lepo, ali samo mozes da ga vrtis na ekranu. Ummm.. pravo je cudo da sam za godinu dana savladao nesto kao sto su shaderi i graficko programiranje, pa makar i WebGL, i za 3d interakciju, jednostvno su potrebni alati kao trigonometrija i linearna algebra (za rendering i vise). Valjda prvo to treba da se savlada. Upoznao sam dosta front-end dev-ova koji uspeju da sklope aplikaciju tip top, ali 3d im ne radi kako treba - rotacija se zablokira izgubi, nesto zavrsi u ogledalu i na kraju jos radi sporo jer treba tu dosta optimizacije.

 

 

 

Voleo bih da naucim kako da napravim i taj interaktivni lejer. Recimo, hteo bih da napravim alatku za nacrtnu geometriju, da mogu da se vizualizuju razliciti zadaci. Rucno bih radio tajming, tekst, i logiku ali ako bih napravio sebi mali frejmwork samo za to, voleo bih da mogu da samo ubacim podatke za zadatke u mongodb i da po potrebi ucitavam u specificnoj WebGL sceni. Ili recimo garaza, sa automobilima, jedna stranica sa 3d modelom i AJAX nije problem, ali kako da to uklopim u neki hibridni obimniji sajt?

 

 

 

Link to post
Share on other sites

Pa to sam ti i opisao...

 

Jeste Three.js jeste framework, ali, pitanje je koliko projekata imas gde ti je webGL canvas JEDINA stvar na stranici, a koliko je mesavina nekih kontrola, teksta, elemenata + webGL

 

U takvoj hibridnoj situaciji najbolje je da pustis da FW radi skelet aplikacije, evente, interakciju a da webGL bude samo jedan (verovatno centralni i najveci) widget u stranici.

 

Onda, step 2, ne komuniciras iz FW-a direx sa three.js-om, nego izmedju postavljas facade klasu, koja iz aplikacije salje evente i data u webGL i obratno.

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...