Ruby web framework: kinek melyik jön be és miért?

 ( log69 | 2013. október 12., szombat - 19:01 )

Ki milyen Ruby web framework-öt használ és miért? Célom egy kicsitől közepes méretű projektet kiszolgáló cucc felkutatása az alábbi igényekkel:

- jó (és sok fajta) template támogatás
- nagyon egyszerű funkció nevekkel
- gyors legyen!!
- legyen saját beépített webszervere
- nem lenne baj a beépített sql db
- ha igény van a mikró projektre, akkor ne tűnjön ágyúval verébre megoldásnak
- tudjon SSL-t és támogasson lényeges alap dolgokat (cookie kezelés, session auth stb. minden lényegest)
- régebb óta élő stabil projekt legyen
- egy gem install elég legyen a telepítéséhez

Több (egyébként sok létező) web framework-öt átnyálazva nekem a Sinatra jön be legjobban. Leginkább a tényleg egyszerű és lényegre törő elnevezések miatt. Sok framework-nél nagyon kockák írják rendkívül sok idővel, mert hihetetlenül túlbonyolítják. A Sinatra-nál nem hittem a szememnek hogy mennyire úgy néz ki minden ahogy nekem egyértelmű angolul és ahová nem szükséges, arra nem csinálnak felesleges procedúrát vagy osztályt.

Ruby On Rails nekem nagynak tűnik a jelenlegi és jövőben elképzelhető igényeimhez.

Egyéb vélemények? Mit használtok és miért szeretitek?

Létezik olyan WF amelynél 100%-ig el van rejtve a HTML, JS, CSS és minden egyéb és Ruby-s?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Csak mint érdeklődő... :)

Ez hogy tetszik?
Őszintén szólva számomra a ruby webfejlesztés = RoR, másról mindeddig még csak nem is hallottam.


Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Nem doksi keresés Sinatrához volt a kérdés :)

Ismerem, írtam is pár cuccot Sinatrában és bejön, de lehetne ez az egész ennél még sokkal egyszerűbb és bőven el lehetne még rejteni sok dolgot, hogy még inkább a problémára lehessen koncentrálni.

Meg persze az a gondom, hogy Sinatra egyszerű de funkció hiányos, Padrino meg RoR meg egyre bonyolultabb (feleslegesen), viszont ott megvannak a funkciók.

Valahogy úgy érzem, magadnak mondasz ellent.
Egyik oldalról microframeworköt keresel, másik oldalról meg legyen benne minden, ami talán még a "nagyokban" sincs. :)

Kb. mint én a pythonos környezetekkel. Django túl nagy (meg van sok hibája is), a többi meg túl pici. :))

Sinatrát meg eddig csak színészként ismertem, a topic-od miatt kezdtem keresni, hogy egyáltalán mi van a RoR-n kívül.


Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Kérdés hogy ez valóban ellentmondás-e? Azt tudom, hogy minél több funkcionalitást kérünk, annál több kompromisszumot kell kötnünk (és átvenni a már kidolgozott funkciókat).

De most itt nem is a Sinatrát emelem ki, inkább mások véleménye érdekelne, hogy mit és miért használnak.

Illetve mint írtam, kíváncsi lennék hogy létezik-e olyan megoldás, amely elrejti teljesen az alrendszert. Mert ugye hiába programozunk pl. Sinatrában, sajnos ugyanúgy kell ismerni és használni a HTML-t, JS-t, CSS-t, csak még olyan csavar is van a dologban, hogy a template nyelv ismeretét is bevisszük (még ha nem is nagy).

Tehát hiába segít valami rajtam, ha mindig fejben kell tartanom és átlátnom az alacsonyabb rétegek működését is. Ezért lennék kíváncsi az iménti dologra.

Mondom, én csak egy álcázott "subs"-nak szántam a hozzászólásomat, de ahogy elnézem, más nem nagyon jár erre, szóval...
Ruby-val nem foglalkoztam a helloworldnél mélyebben, viszont egy-két keretrendszert anno megnézegettem (PHP, Python elsősorban).
Nekem úgy tűnik, hogy ha van olyan, ami elrejti előled teljesen a HTML-CSS-JS dolgokat, nem túl elterjedt, mert még egy ilyennel sem találkoztam.

De nem is látom sok gyakorlati értelmét, mi több, igazán elképzelni sem tudom, hogy lehetne egy olyan keretrendszert készíteni, ami elrejti előled mondjuk a JS-t és teljes mértékben az általad válaszott nyelven (jelen esetben Ruby) programozható.

Már csak azért sem, mert az első kifogás az lenne, ami pl. a dreamwaeaver és tsai ellen: feleslegesen nagy kódot generálna, nehéz optimalizálni az eredményét stb.
Feltéve, hogy programozásról beszélünk és nem valami GUI-ról, mint pl. (jó, ez nem web) a QtDesigner, mert ez megint egy külön téma azt hiszem.

Ha meg olyanra vágysz, hogy egyáltalán ne kelljen foglalkozni a webes dolgokkal, akkor pl. van olyan, hogy uniPaaS. ;)
(igaz, ez már rég nem ruby, ez egy önálló fejlesztőeszköz :) )


Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Nem nem akarok foglalkozni a programozással mivel foglalkozok vele, csupán a látószögemet bővítem. Adott igények mellett nyilván nem lehet 3 klikk és 4 sorral megoldani mindent, de azért mindig keresem az új megoldásokat.

A számomra optimális elrendezést keresem a lehetőségekhez mérten.

részben off:

ilyent kerestem én is, csak én JS oldalról akartam minnél jobban kiszolgáló php vagy python backend-et, ami legalább alap crud-okat képes generálni, de még ilyent se találtam, mindenhol az volt, hogy már a generálásnál, a szabályok lefektetésénél bele kellett másznom az adott nyelvbe

Nem biztos hogy jól látom, de szerintem ott lehetne még úgy hozzátenni a kerethez a bonyolultsági fok növelése nélkül, ahol magát a HTML-t kell összeraknunk.

Tehát ha már magas szinten irányítgatom a dolgokat, akkor ne kelljen betennem "alacsony szintű" HTML-t, JS-t meg CSS-t, hanem a template nyelv használatával összerakott megoldás HELYETT lehetne egy osztály, amely HTML+JS+CSS kódot köp ki (természetesen a platform verzió vizsgálatával, hogy támogat-e a böngésző CSS3-at, HTML5-öt stb.) eleve témázott módon (szín meg egyéb style) meg JS kóddal is.

Jó, mondjuk megírhatja magának mindezt az ember szépen lebontva osztályokra, de akkor meg ez már saját framework vagy plugin :) Jó lenne a framework-ökben standard, nyelvtől független API-kat látni.

részben ilyent fejlesztek, mert beleuntam, hogy mindig kézzel kell az alap html-eket összeállítani, de semmi standard nincs erre, egyszerűen kiemeltem azokat az elemeket, amik egy tipikus webes felületen vannak, és azokat egy-egy elemként kezelem

illetve a másik ami úgy látom sokat egyszerűsíthet, az a html5-ben a data attrib.-ok, igaz hogy felrúgja alapból az MVC elveket :), de eddig könnyen fejleszthetőnek tűnik.