Rails?

от IvanK

Мислех да пусна коментар на Има ли смисъл да мислим за rails? . Но нещата, които има да казвам, са доста повече от един коментар, така че реших да избича една статия по темата.

Та въпроса е дали наистина има смисъл и ни трябва тоя Rails? Не е ли по добре да си използваме PHP, за да си правим сайтовете, както сме си ги правили винаги, нямаме намерение да се пробваме в techcrunch, нито да направим новия flickr . Просто искаме да си правим сайтчетата, да си зимаме паричките и да си пием бирата след работа… Пълна идилия.

И според мен rails-а има потенциал да затрие всяко подобно предприятие, което се пробва да се напъне с него. Все пак цялата му идея, идеология и цел при създаването му е била да бъде използвано от популярните в америка технически startup-и – компании, чиито шансове за успех са – 10-20%. ако не и по-малко (вие бихте ли инвестирали в компания, която обещава да преобрази търсенето в интернет като използва ефтин хардуер и граф алгоритми, ако не знаете че от това ще стане google) То е от тия неща, които имат висок риск и съответно висок ROI. Ако отделиме време, и с малко повече късмет и упоритост, може да напрвим грандиозно приложение, но има голям шанс вичко да отиде в голямата чиния в банята. Пък ако използваме rails за нещо по-тривиално, сигурно няма да си струва загубата на ресурси за построяване на инфраструктурата за поддържането му (чети co-locate-нати сървъри, vps-и и яко администрация).

След година две сигурно няма да е така – наследникът на rails – било то rails 4 или пък нещо друго, ще си е решил проблемите, и ще е лесно да си купим евтин (бг) хостинг та да ударим един рейлс и да си построим сайт на местния магазин за баници. Пък то програмисти лесно ще се намерят, все пак rails-а (по точно ruby) е къде-къде по-лесен за учене от PHP-то, та като се хванат децата от сега да се интересуват от него, ще има доста повече rails къртици.

Но дотогава, освен ако не е някоя готина web application, най-вероятно усилието не си заслужава. Каквото и да проповядват по блоговете DHH, Ezra и Err , да подкараш читаво един (и повече) rails сървъри си е pain in the ass, пък да не говорим че е почти невъзможно да си намериш админ да ти го направи в бг, и трябва да си го правиш сам.

Иначе качеството на кода, който се получава, като се пише с rails е неимоверно по-добро от това на PHP (с който и да е framework). Но в доста случаи това въобще не ни е необходимо – все пак, нормалните сайтове рядко се update-ват (за което всъшност ни трябва чист код), а когато това се прави, обикновенно е цялостен редизайн, където така или иначе ще се пренаписват нещата.

Rails проповядва и Test Driven Development, където докато си пише човек програмата, си пише и спецификация какво трябва да прави тя, за да може периодически автоматично да се проверява дали всичко е наред. Това е като дар божи, ако правиш web-application, когато често променяш и пренаписваш части от програмата, и трябва да си сигурен че не си развалил нещо друго. Но както споменах по-горе, за нормалния сайт и това не е нужно. Би било хубаво, и определено ако се направи е полезно, но не е необходимо.

Ако се излезе от обичайните параметри, например ако трябва един сайт често да се ъпдейтва, Php-то може да стане такъв голям трън в задните части, че човек да иска физически да нарани някой, само и само да си избие гнева, защото една малка промяна е прецакала нещо на другия край на приложението, което от своя страна води до някой друг дефект, и ти научаваш за това чак като ти се обади клиента и каже аджаба що нищо не работи след като сме го “оправили”. Докато с чист framework като рейлс update-ването и тестванeто става като да се изпикаеш зад храст – чувстваш се странно, става лесно, и после се чудиш колко бързо е свършило.

Друга проповед на rails е че с PHP не може да се задържи/намери талантлив програмист – съмнявам че е така – най-малкото защото като се поразрови човек из сорсовете на големите PHP framewok-ци, разбира че хората, които са го писали далеч не са прости, и определено ги кефи това кеото правят. Въпроса е че е много по-трудно да се намярт качествени проекти PHP, такива едни яки и интересни, и още по трудно е да се оправдае използването на PHP за тяхната реализация. А пък rails, както и ruby, python, lisp, erlang, django, pylons и тем подобните са думи, които ще сгреят сърцето на повечето таланти във web-a. Тоест е възможно, но по-трудно. Пък и пак идва въпроса дали си струва да имаш такива таланти. Това е като да си купуваш high-end hardware – за какво ти е най-яката nvidia, ако не играеш игри например или пък най-мощния creative ако едни тубички ще ти свършат перфектна работа. Защото сайт на баничарницa бая лапета могат да скалъпят, и клиента ще си остане доволен.

Така че с екип от PHP маймуни може човек доста да направи, макар и да е повече за количество, отколкото за качество. Пък rails-а поне за момента си остава high-end, за тези, на които наистина им трябва и могат да си го позволят.

Коментари:1

  1. I’m impressed, I must say. Really hardly ever do I encounter a weblog that’s both educative and entertaining, and let me inform you, you might have hit the nail on the head. Your thought is excellent; the issue is something that not enough individuals are talking intelligently about. I’m very completely satisfied that I stumbled throughout this in my search for something regarding this.

Коментирай