Извор слике: пикабаи.цом

Пре него што овде започнем хладни рат, између људи који користе Раилс (Руби) и ПХП, кажем вам да нисам овде да бих расправљао о томе који је језик бољи. За мене или за искусног програмера било би исто. Само је ствар воље ко преферира шта и шта им је лако.

У овом блогу бих углавном расправљао о важности њих двоје и како се они међусобно разликују. Дакле, ако сте нови за Раилс и ПХП, онда би ово могао бити савршен блог за вас, ако желите да одаберете један од оба. Па да започнемо. Хоћемо ли?

Неке основне позадине

За почетак, ПХП је скриптни језик, док је РАИЛС оквир за развој веба, који је заснован на сценаријском језику Руби. ПХП је широко кориштен програмски језик за веб странице као што су Фацебоок, ВордПресс, Иахоо, Флицкр и још више. ПХП је изузетно брз, н пута стабилнији од Раилс-а и чак има већу заједницу програмера која га подржава.

Раилс се у потпуности заснива на Рубију. Изузетно је једноставан за употребу и почетак рада. Околина у Руби-у је врло аутоматизована. Руби је заиста невероватан језик. За разлику од ПХП-а, он је стварно Оријентисан од почетка. Његова шифра је веома сажет и моћан. Драго камење (проширења) омогућавају вам да прикачите потребну функционалност. Након кодирања у Рубију, кодирање у ПХП-у сматрам прилично заморним.

Добри, зли и ружни

  1. ПХП

Мој савет је ПХП, јер је коришћење ПХП-а на основном нивоу врло једноставно, тамо има пуно људи који знају копирати / залепити неки код шаблона, модификовати конфигурационе датотеке и чак их можда називати и ПХП програмерима, што ПХП-у даје јако лоше име које мислим да не заслужује.

За истинског програмера заправо није важно који језик користи, а то је оно што он кодира и начин на који кодира. Након што научите неколико програмских језика, схватите да је већина њих заправо врло слична, обично је синтакса различита (посебно у њиховом основном механизму, чак и за различите програмске парадигме).

Прво што бисте требали научити је писање чистог и читљивог кода, а не писање превише софистицираног кода, јер је теже дебугирати и збунити некога ко не зна посебне трикове језика (са ПХП-ом можете учинити све ситне ствари, нису све очигледне осталим програмерима).

У поређењу са ПХП-ом, Раилс такође није непријатан када је у питању грешка. Са ПХП-ом ће вам испљувати грешке у развоју и поруке о грешкама заправо имају смисла. Обично ће се страница приказивати, али део са грешком ће вам показати који ред је до грешке и порука је корисна. У Раилс-у се обично разбуктава цела апликација.

Жао ми је што овде увриједим неке људе, али Руби једноставно није тако једноставно као ПХП да учи. По свему судећи изузетно моћан језик. Одлучим да користим Руби једноставно зато што као програмер сматрам да је то много бољи језик од ПХП-а. Али из перспективе учења, није. Руби има много функција које програмеру почетнику једноставно нису јасне. Један такав концепт су блокови, профили и ламбде, које Раилс увелико користи.

Класични пример Руби он Раилс који ћу користити је за креирање форме:

  1. ЖЕЛЕЗНИЦЕ

Руби је динамично, императивно објектно оријентисано програмирање. Динамично се откуцава, као у ПХП-у, тако да не морате да бринете о декларисању променљивих. Шине су отворене, раде на више платформи и могу се уградити у Хипертект Маркуп Лангуаге. То је језик високог нивоа. Чак нуди инкапсулацију метода података унутар објеката.

Руби има супер напредне технике манипулације стрингом и текстом које се лако могу повезати са ДБ2, МиСКЛ, Орацле и Сибасе. Велики програми написани у Руби-у су лако одрживи. Има чисту и лаку синтаксу која омогућава новим програмерима да брзо и лако науче Руби. Не само да може да пише мулти-нитне апликације једноставним АПИ-јем, већ нуди и напредну класу арраи-а и могућност писања спољних библиотека у Руби или Ц.

Руби Омогућава да се „резервисана реч“ користи као идентификатор све док парсер не примети двосмисленост. У поређењу са ПХП-ом, Руби има много сигурносних функција и моћно руковање стринговима.

Дакле, питање деценије је … Да ли чини Руби бољом перспективом у поређењу са ПХП-ом?

Нажалост, није тако црно-бело, а многе променљиве долазе у обзир када се одређује да ли се за развој треба користити ПХП или рубин на шинама.

На пример, Руби он Раилс је много сложенији језик за постављање развојног окружења. Следствено томе, прешутно знање потребно за Рубија одмах подиже цену на програмском тржишту у поређењу са развојем ПХП-а. ПХП програмер, с друге стране, може једноставно да користи конвенционални пакет као што је ВАМП, МАМП да би се поставило дев окружење за мање од 5 минута.

Кад сам започео кодирање у Рубију, Гемс ме збунио више него што су помогли јер је било превише 'магије. Једном када сам сазнао да можете (и требало би) само да прочитате изворни код драгуља, све је имало много више смисла. Због природе драгуља и стандардима заједнице, драгуљи могу вашој апликацији давати огромну количину функционалности врло брзо.

Неке драгуље без којих не могу живјети: Осмислите (провјера аутентичности - рукује се пријавама корисника, друштвеним пријављивањем, заборавља тијек рада с лозинком и тако пуно више), папирним клипом (уплоад датотека - чак и руковање пријеносом на С3, обрезивање / поновно узорковање), једноставно Образац чини обрасце невероватно једноставним за стандардизацију и приказивање на веб локацијама.

ПХП је замишљен као хипертекст пре-процесор, што значи да се извршава само када постоји веб захтев. У поређењу са Руби-ом, који води процес. У Раилс-у лако можете поставити позадинске задатке користећи Сидекик или Рескуе. То такође повећава способност Раил-а да се лако скалира. У нашим апликацијама премештамо много ствари које могу успорити захтеве попут слања корисника е-поште у позадинске послове.

Сада ПХП може радити позадинске послове користећи Геарман, али то није стандардизовано - морате инсталирати ПЕЦЛ екстензију. У Руби / Раилс позадинским пословима није проблем. Само ти то уради.

Вучни рат

Сада када сте прочитали пуно о ПХП-у и Раилс-у, погледајте упоређивање. Провјеримо који је раван у погледу употребе ресурса, па чак и у погледу перформанси (брзине).

Препоручени курсеви

  • Онлине течај сертификације у хибернацији Јаве
  • Програм на прољеће Јава
  • ВордПресс течај за сертификацију
  • Руби Цоурсе

Употреба ресурса и брзина

Што се тиче меморије, обично ће то бити Питхон> Руби> ПХП, што наравно води до Дјанго> Раилс> ПХП. Не само меморија, већ и задржава рубин на трачницама у односу на перформансе пхп-а. Такође овде треба истаћи да, наравно, овде нема апсолутних. Постоји пуно сценарија употребе у којима ће Руби побиједити Питхон-а, доље рукама. Мислим да се сви можемо сложити да ће Руби и Питхон увек победити ПХП.

Моје искуство је да употреба Раилс-ове меморије може бити велика, посебно на 64-битним машинама (минимално је око 95-100 МБ са танком траком као и веб фронт-енд). ПХП се обично користи са различитим обрасцима, па је мало тешко директно упоредити.

Као што је речено, још увек је врло лако направити бешћутну, спору и неефикасну апликацију Дјанго и мршаву, брзу и ефикасну апликацију Раилс или обрнуто. Вештина, знање и експертиза са системом који користите учиниће много више за његово памћење и перформансе него само сам оквир.

Оптимизације базе података, избор сервера и архитектуре (Апацхе вс проки подешавања помоћу нгинк / лигхттпд, итд.) И темељне дизајнерске одлуке ће вероватно брзо надвладати својствене карактеристике оквира.

Ако покренете типичне референтне вредности између Руби-а и других језика, Руби губи. Руби вам вероватно неће добро послужити у писању апликације за дигиталну обраду сигнала у реалном времену или било каквог система за контролу у реалном времену. Руби (са данашњим ВМ-овима) би се вероватно могао угушити на компјутеру ограниченом ресурсима, попут паметних телефона.

Запамтите да много обраде на вашим веб апликацијама заправо обавља софтвер развијен у Ц. На пример, Апацхе, Тхин, Нгинк, СКЛите, МиСКЛ, ПостгреСКЛ, многе библиотеке за рашчлањивање, РМагицк, ТЦП / ИП итд. Су Ц програми које користи Руби. Руби пружа лепак и пословну логику.

Питање је "ЗАШТО ПХП онда?"

Сада разговарајмо о ПХП-у. ПХП ради изузетно споро на апацхе серверу. Чак и ако покушате покренути ПХП страницу чак и без било какве скрипте, само празну пхп страницу, и даље ће требати 10 пута више времена за учитавање у поређењу са ЈСП-ом или Јавом. Али опет, питање милион века је да ако је то тако, зашто онда Фацебоок још није одустао од ПХП-а? Разлог због којег се Фацебоок није мигрирао од ПХП-а је тај што су Фацебоокови инжењери успели да савладају многе његове недостатке кроз комбинацију закрпа на свим нивоима стаке и одличну унутрашњу дисциплину путем кодекса и стила.

Избјегавани су најгори атрибути језика, а стил кодирања се строго извршава кроз прилично тијесну културу прегледа кода (уколико се не придржавају стила и „иде каубојем“ писањем неуредног кода резултира безобзирним подсмијехом нечијих вршњака). Инжењерски менаџмент овде никада није морао да се снажно примиче; ово је настало углавном захваљујући кључним интерним техничким лидерима који су на неки начин наговарали све остале заједно.

А Фацебоок наравно не користи само ПХП. Такође садржи Ц ++ као своје језгро. Дакле, за ПХП користите неку врсту предмеморије кода као АПЦ или еАццелератор у супротном ПХП мора да анализира ваше датотеке на сваки захтев. За опште подешавање апацхеа требало би да направите неке гоогле, пар ствари попут деактивирања .хтаццесс датотека пада на памет, али и даље би требало да буде брже од ЈСП-а.

Закључак

На крају, претпостављам, оно што говорим је ако прођете кроз Раилс, него што би требало да се провлачите кроз Раилс све док не планирате да покренете нови пројекат заснован на ПХП-у и покренете компанију заједно са њим.

Препоручени чланци

Ево неколико чланака који ће вам помоћи да сазнате више детаља о Раилс вс ПХП-у, па само пређите на линк.

  1. Невероватни водич за развој учења Раилс
  2. Руби вс Руби Он Траилс- Који је бољи?
  3. Руби вс ПХП-Која је технологија најбоља?
  4. 10 најбољих питања о искусним ПХП интервјуима за искусне особе

Категорија: