HAML, SASS i topla voda
Interesuje me jel zna neko fazon rastuce popularnosti HAML i SASS-a?
Zasto jednostavno HTML i CSS, kad moze komplikovano HAML i SASS? |
Vrlo je jednostavno, i HAML i SASS (mada se uglavnom prešlo na SCSS) su superiorniji.
Jedini problem kao i obično su ljudi koji mrze da uče nove stvari. |
SASS ili SCSS je simpa alatka, pogotovo na vecim projektima jer ima mehanizme (promjenjive, loop-ove, uslove..) koji olaksavaju odrzavanje.
Problemi na koji sam ja naishao - moras stalno drzati aktivan proces u pozadini koji radi konverziju tj prati izmjene na fajlu na kojem radis i generishe ti CSS. (koristio sam neki python-ov gem).. - nisam nashao tool koji ce uraditi konverziju u CSS tokom kompajliranja (deploya) JAVA projekta i kao takvog spakovati ga u war (sto ne znaci da ne postoji?). |
Meni je LESS daleko jednostavniji za ucenje i upotrebu jer mi je slicniji css-u, mada neki ljudi tvrde da se SASS mocniji (ne razumem se dovoljno da bih tvrdio da li je to tacno ili nije, ali mi nikad nije trebalo toliko "moci" da bih primetio razliku). U svakom slucaju CSS-u fale neke bitne stvari koje ovi jezici pruzaju (pre svega varijable) i to mi ima smisla...
A HAML mi je debilitet. U redu mi je zen-coding pristup za brzo pisanje html-a kroz skracenice koje se expanduju, to i koristim, ali raditi u potpuno novom jeziku poput HAML je meni glupost. Posto HTML skoro uvek generisem dinamicki iz smartija ili php-a jos jedan nivo apstrakcije je potpuno nepotreban (meni). I ne slazem se sa Jablanom, mislim da nije stvar da neke ljude mrze da uce novo, da je bas obrnuto, da je ovo izmisljotina za ljude za ljude koji ne znaju HTML, nisu dovoljno radili u njemu da bi im "legao", pa im je ovo preglednije i lakse da nauce. Ljudima koji znaju HTML i rade godinama u njemu je HTML savrseno pregledan. Ja sam jos u vreme dizajna sa tabelama u tabelama u tabelama, itd.. radio direktno u editoru i retko sam imao problem da vizualizujem o cemu je rec, tako da mi HAML definitivno nije potreban i celu ideju osecam kao limitirajucu, a ne kao nesto sto ce mi povecati expresivnost ili ustedeti vreme. |
|
Moje misljenje je da je SASS kao i svi slicni alati (LESS) ok za mali tim (max 3 coveka), za vece projekte ne mislim da je dobro resenje iz prostog razlog zato sto debug nije da kazem pravolinijski, znaci ono sto ti vidis u nekom toolu za inspektovanje html/css tipa firebug, ne odgovara onome sto imas u fajlovima, i kada imas projekat na kome radi 10+ ljudi koji po automatizmu menjaju css jer im lakse da pronadju definiciju iliniju na osnovu onoga sto pise firebugu onda imas problem. Retko se ima vremena da se svi ljudi obuce da rade u tome, drugo i dalje se u SASSu moze pistati cist css i optimizovati kasnije.
Kada jedan od tih SASS i slicnih alata postane standard i kad ga bude moguce menjati u nekom pluginu kao sto je firebug onda ce postati opste prihvacen, ovako i dalje ostaje problem da je to jos jedan "jezik" koji se mora uciti, i svaki novi covek koji dodje da ucestvuje u projektu mora da nauci to, onda shvatis da se sve to moze postici i bez SASS u cistom css-u koji vecina zna. Najveca prednost je sto uvodi promenljive koje se mogu koristi dalje da se ne bi ponavljao jedan isti tekst na vise mesta, ali imas problem da uvodi i vrlo lako pisanje selektora koji su vrlo specificni (primer "#menu ul li a") koji se kasnije tesko pregaze sa novom definicijom. Mislim da dobar i pametan html/css koder moze da napravi dobar css i bez ovoga. |
Mislim da je ovo za ljude koji rade isključivo HTML5 i CSS3 jer HTML4 i CSS2 nisu više cool :)
Što se tiče varijabli u CSS, mislim da se može napraviti parser dok popiješ kafu. Za HAML jednostavno ne vidim potrebu/poentu, svaki framework ima HTML klasu preko koje se generišu HTML elementi za prosleđivanje u view/template. |
Citat:
Sa druge strane, HAML je em čistiji em koncizniji od HTML-a. Razumem ljude kojima je smaranje (i u Railsu većina ljudi koristi ERB a ne HAML), ali treba skapirati da je nekom YAML-ovski pristup markupu prirodniji nego XML-ovski. Da ne bude samo prazno naklapanje, imate ERB (525 characters; 24 lines): Kôd:
<% if @users.empty? %> Kôd:
- if @users.empty? |
Citat:
A onda uz sve to idu mnoge druge tehnologije koje su bazirane i povezane sa istim (npr. XSLT). XML je na svakom koraku i većina ga već odavno zna, makar minimalno. Da je savršen nije, ali je bar sveprisutan i ipak prilično lak za razumevanje. Nisam siguran da nam baš treba da svako gura svog favorita, a fakat bi tako bilo, jer ćemo na kraju da završimo sa istim. Malo li je što već imamo različite jezike (PHP, Java, C#), različite SQL dijalekte.. ajd sad i ovo na što više načina. |
Ja baš ne kontam u čemu je tačno problem: pojavile su se alternative, neki ljudi su se pronašli i krenuli da ih koriste, neke će sigurno propasti, neke će nastaviti da se koriste, ne zato što ljudi vole da izmišljaju toplu vodu, već zato što su sa njima produktivniji, lakše im je, lepše im je itd. Ko ne voli mogućnost izbora, eno mu MS stack pa neka koristi štagod se fura u MS-u ove sezone.
Samo dve stvari možda da naglasim. Prvo, HAML/SASS nisu nova stvar, nastali su pre 4-5 godina. Drugo, već duže vreme i HTML i CSS i JS nisu više jezici u kojima se isključivo direktno kodira, već su i target platforme za druge jezike. ASP.NET, GWT, CoffeeScript postoje već neko vreme, a i svakim danom pojavljuju se novi jezici i platforme koji se prevode u HTML, CSS ili JS. Na kraju krajeva, zar i jQuery (koji ste računam svi redom prihvatili) ne predstavlja "dodatni nivo apstrakcije", "još jedan jezik koji moramo da učimo", "izmišljanje tople vode" itd? |
Yep, zanimljivo kako je jQuery odmah prihvaćen... Možda zato što rješava realni problem? :)
Kad se pojavi html/css apstrakcija koja (kao i jQuery) rješava cross-browser-compatibility problem, rado ću je prihvatiti. Do tada, pitanje da li "gubiti" vrijeme na pisanje html-a direktno u editor ili na učenje nečeg novog je pitanje ličnog ukusa a ne produktivnosti. |
Ček, opet ne kapiram. Vi koji niste probali HAML ubeđujete mene koji ga koristim da nisam ništa produktivniji zbog toga? Ja iskreno mislim da jedino što možete da tvrdite je da vi mislite da vi ne biste bili ništa produktivniji s njim.
|
Citat:
Kako to korišćenje MS stacka, sprečava mogućnost bilo kakvog izbora? Pa еvo baš i taj HAML postoji u verziji za .NET, nHAML. Druga je stvar što većina ljudi rađe koristi ono što MS preporučuje zato što je velika šansa da će to preporučeno da nađu na raznim projektima, kada promene posao, itd, pa se ulaganje u učenje preporučenog najviše isplati. |
Pa mešate malo, jQuery je biblioteka iz koje uz 2-3 linije koda rešiš ogroman programerski posao. Pisana je u js-u, koristiš je u js-u. ista sintaksa. To je kao npr PEAR ili Smarty za PHP ili grid960 za css. To su biblioteke sa gotovim rešenjima i ako su korisni brzo se prime i ljudi ih koriste.
Kod SASS-a ništa nisi dobio na gotovo, moraš da naučiš totalno novi jezik da bi na kraju napisao dinamički kod koji će postati css, a ustvari si za isto vreme mogao i da napišeš taj css kod. |
Citat:
Mislim, karikiram dosta, HAML i SASS ne rešavaju problem browser kompatibilnosti, svetske krize i globalnog zagrevanja ali rešavaju neki set manjih problema i nekima od nas ta korist nadvladava potrebno vreme da uložimo u njegovo učenje. Koliko je to teško da se shvati? @degojs: Izvinjavam se ako sam nekog uvredio, kad kažem "MS stack" mislim na kanon koji dolazi iz Redmonda, ne kažem da ne postoje sjajni community projekti u tom ekosistemu. |
Off Topic: @jablan: fazon je što pišeš stvari kao "ko ne voli mogućnost izbora, eno mu MS stack.." što je toliko daleko od istine.. Ja ne znam da neko drugi omogućuje fleksibilnost kao i MS: mogućnost da biram jezike, web servere, baze, raznie biblioteke i kojekakve kombinacije istih. Što se HAML-а tiče, stvar je da većina ljudi nema problem sa korišćenjem HTML-a, niti osećaju da bi im produktivnost bila značajno veća sa nekom alternativom. Sa druge strane, pogledaj kako se oko npr. jQuery-ja više i ne raspravlja na tu temu, jednostavno je ogromna razlika sa i bez istog (isto vredi i za C i asembler). HAML rešava problem koji većini baš i nije problem.. |
za razliku od C-a koji je resavao vrlo konkretne probleme, po meni HAML resava problem koji ne postoji...
ali naravno niko nikom nece da brani da uci i koristi sta god zeli, samo je ovde bilo pitanje "vredi li", a ja mislim da ne vredi... ti mislis da vredi... sve je to super, jer su prvo ukusi razliciti, drugo koristimo razlicite jezike, a i imamo razlicit nivo iskustva u razlicitim okruzenjima... EDIT: Pretece me degojs EDIT2: Mozak se vremenom trenira da prepoznaje odredjene paterne, to je ono: "ako dovoljno dugo gledas matrix..". Ja sam dovoljno dugo gledao xml/html da ja tu ne vidim znakove, nego vidim strukture (a verujem da je isto i sa vecinom ljudi ovde). Problem sa svakim novim vidom zapisa je sto covek mora da utrenira mozak ponovo da bi mogao to da koristi, to je problem sa svim radikalno drugacijim pristupima. Meni je HAML necitak. Verovatno kad bih sad naterao sebe da ga korsitim 4 meseca da bih se navikao, ali sumnjam da bi mi postao mnogo citkiji od html-a, a to da li ima 300 ili 400 karaktera mi je potpuno nebitno, tome sluzi auto-complete... |
Citat:
Inače, meni auto-complete nikada nije bio primarno zato da ne bi morao nešto više da kucam, već da bi mi asistirao u smislu otkucaš ime klase/objekta, a ovaj lepo odmah izlista koje funkcije imam na raspolaganju, pa onda kad otkucam ( lepo mi pokaže parametre funkcije i kratko objašnjenje... To je meni neprocenjivo vredno, pošto često koristim klase koje pišu drugi, klase koje nisu poznate pa da ih već znam i slično. |
Nisam siguran da ima smisla pricati o 'vremenu potrebnom da se nauci SASS'. Meni je trebalo nekih 1-2 da namjestim okruzenje (ukljucujuci i python) i manje 2 sata da procitam features koje su 'dostupne' ali ne i obavezne da se koriste.
Nije da si primoran da ih koristis, ali kad kuckas CSS kod imas mogucnost da sebi olaksas zivot. Hocu reci - ne ucis novi jezik vec .. koristis framework recimo.. |
Citat:
|
HAML/SCSS/jQuery/AJAX i ostali programski jezici :) Ne kontam što je bitnije svima da zvuči fancy, a ne da se uradi kako treba... kome stvarno odgovara i pomogne, super, ali zašto forsirati...
|
ja programiram u drimviveru...
|
@mungos: a javlja mi se da development rade u RoR-u?
|
U pravu si.
Od pocetka ljeta do sada sve cesce cujem za HAML. Trend je u Silikonskoj dolini, jos ako ga marketinski pogura neko jak... :) Cak smo nesto i radili za autora HAML-a (PS: You would have to use Sass and Haml for the project, fyi. Since I invented them.) Inace, cini mi se da je danas teze uciti CSS nego prije 10 godina kad smo imali Tanteka, ie5/win, ie5.5/mac, a ie6 smatran modernim browserom. Sad te pitaju koji CSS framework koristis i na konto tog donose odluku. |
Citat:
http://stackoverflow.com/questions/1...ine-comparison Најбоље је кад има неки монопол па те не боли глава шта да учиш :) |
Citat:
SCSS i jQuery su sada first-class citizens u Railsu 3.1 (dolaze po defaultu). DHH nije fan HAML-a, tako da do daljnjeg default ostaje ERB. @ivanhoe: Budimo iskreni, nije u pitanju 300-400 karaktera, već 30-40% koda uštede. PS: Ako nekom treba: http://css2sass.heroku.com/ ;) |
Citat:
Treba neka jaca religija da ga pogura. |
prvo smarate, skoro svi ;)
drugo diskutujete o tome da li je vredno ucenja ili ne kao da je learning curve ne znam koliki. dobrom devu treba max 2 nedelje da se prebaci na haml, prva dva dana da se navikne na sintaksu i indentaciju a ostatak da radi uz otvoren docs. mislim... tagove pocinjes sa %, atribute prosledjujes sa {} a petje i ostale stvari sa -, realno nije rocket science. ja razumem da je ovakav koncept visak kada vec koristite smarty ili nesto slicno gde postoji gomila helpera, jer ovo pokazuje pravu moc kada se niz objekata prosledi direktno haml (jade, bilosta) view-u pa em sto kucas dosta manje em imas kul fora da djuskas po tom nizu. meni se licno haml sintaksa ne svidja i mislim da sve to moze dosta jednostavnije, ali kada je recimo erb vs haml izbor u pitanju moj glas bez razmisljanja ide na haml stranu. razlika se vidi vec nakon prvog napravljenog viewa kada skontas da za pocetak ne moras da kucas <div></div> ;) trece sass i slicni nisu ni zamisljeni da vam automagicno izgenerisu najbolji moguci css, vec da na laksi/gotivniji nacin napisete ono sto vec znate. ovakvi alati i pomazu u crossbrowser smaranju kada jednu te istu stvar morate da napisete 100 puta stylus primer Kôd:
border-radius() Kôd:
form input { |
A sto svi pominjete uporno SASS, niko nije ni rec rekao protiv (osim da postoje i alternative)?
I nije bilo reci jel HAML nuklearna fizika, naravno da nije, samo da li je preglednije od html-a. Cistog html-a. Te rubijevske price su sad nesto sassvim drugo, ERB jeste ruzan sa svim onim <%#, ali onda lepo recite lakse je koristiti HAML kao templejt jezik u rubiju, sa tim ce se vecina sloziti... BTW, ko nije probao zen-coding je genijalna stvar za brzo kucanje html-a (a ima i filter za haml) |
Citat:
|
ja sam rekao da imam nesto protiv sassa, cak je i primer koji sam dao u drugom jeziku :)
nije poenta u samom jeziku, ceo topic od naslova vuce da su svi ovi jezici zajedno gubljenje vremena i da ne resavaju neki realan problem, kao zasto komplikovano kada moze jednostavno. stvari su drugacije, zasto komplikovano kad moze mnogo lakse pogotovu kad su rubi/node/scala u pitanju. tada se ne postavlja pitanje da li ces da kucas plain html, nego da li ces da ga generises kroz haml/scaml/jade ili bilo sta drugo sto ti najvise lezi |
@jablan: ERB je zapravo kao php sintaxa (ili stari asp?) za embedovanje, samo umesto ? ima %. Tako da je smarty lepsi iz istog razloga sto je lepsi i od php-a, zato sto koristi {/} i eventualno {**}, a ne <%%><%= %><%# %> plus % (ili u php slucaju <? ?> <?= ?>).
Opet stvar navike, ali meni vertikalnio znaci kao { ili [ manje smetaju od <? ili <% ili sta vec se koristi |
Vreme je GMT +2. Trenutno vreme je 08:13. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.