CoffeeScript postaje sve više popularan u zadnjih nekoliko godina, pre svega zbog prihvatanja Node.js i Rails zajednice.
CoffeeScript je jezik koji se kompajlira u JavaScript. Kod u .coffee fajlu se ne interpretira u runtime-u kao što je to slučaj u JavaScript-u, nego se kompajlira u .js fajl. To znači da sa CoffeeScript-om možete uraditi isto što i sa JavaScript-om.
Šta će nam programski jezik koji je kopija drugog?
Glavna svrha CoffeeScripta jeste da bude jednostavnija verzija JavaScript-a.
CoffeeScript ima za cilj da istakne i pojednostavi fantastične delove svog pretka, a prikrije njegove mane. CoffeeScript nema tačku zarez, vitičaste zagrade, nema ključne reči var u definiciji promenljive, zagrade se mogu izostaviti prilikom poziva funkcija.
Coffeescript VS JavaScript
JavaScript pomalo liči na C ili Javu sa svojim vitičastim zagradama kao delimiterima blokova koda. CoffeeScript ima sličnu sintaksu poput Python i Ruby jezika. To znači da se sa pisanjem manje koda, može uraditi više i brže. Takođe je zbog svoje sintakse jednostavniji za čitanje i održavanje.
Instalacija
Prvo je potrebno instalirati Node.js, zatim u komandnoj liniji otkucati:
npm install -g coffee-script
Da bismo bili sigurni da je instalacija uspešno izvršena, u novoj komandnoj liniji ćemo ukucati coffee –help
Kod coffeescript fajlova koristi se .coffee ekstenzija
Kompajliranje Coffeescript koda
Posle instaliranog coffee-script paketa, alat za kompajliranje nam je dostupan. Pomoću njega se kompajliraju skripte, pre nego što budu isporučene browser-u
To znači da se fajlovi sa .coffee ekstenzijom pretvaraju u fajlove sa .js ekstenzijom i kao takvi se iz HTML koda prikazuju na veb stranicama.
Da bi razumeli kako to funkioniše potrebno je ovaj kod sačuvati u fajl sa nazivom day.coffee
day = new Date().getDay() isFriday = if day == 5 then "YES" else "No" alert "Da li je danas Petak? #{isFriday}"
Da bi browser pokrenuo ovaj kod, potrebno je prvo izvršiti kompajliranje u JavaScript:
coffee -c day.coffee
U istom folderu dobijamo fajl day.js
// Generated by CoffeeScript 1.9.3 (function() { var day, isFriday; day = new Date().getDay(); isFriday = day === 5 ? "YES" : "No"; alert("Da li je danas Petak? " + isFriday); }).call(this);
- Mogli smo napisati i naredbu coffee –watch –compile day.coffee
- To znači da bi se svaka promena u fajlu koju sačuvamo kompajlirala automatski
Funkcije u CoffeeScript-u
script.coffee name = "John" person = true yell = -> alert name yell() script.js // Generated by CoffeeScript 1.9.3 (function() { var name, person, yell; name = "John"; person = true; yell = function() { return alert(name); }; yell(); }).call(this);
Uslovne izjave u CoffeeScript-u
script.coffee name = "John" age = 25 person = true yell = -> alert name alert age if age > 24 then yell() script.js // Generated by CoffeeScript 1.9.3 (function() { var age, name, person, yell; name = "John"; age = 25; person = true; yell = function() { alert(name); return alert(age); }; if (age > 24) { yell(); } }).call(this);
Ukoliko ste se zainteresovali za CoffeeScript, evo nekoliko izvora informacija za učenje.
Besplatne online knjige:
The Little Book on Coffeescript
- Uvod u Backbone.js - 26. јуна 2015.
- Šta je CoffeeScript? - 12. јуна 2015.
- HTTP/2 za brži i sigurniji internet - 8. јуна 2015.