У чарговым аглядзе ВПЗ разгледзім навінкі традыцыйнага праграмнага забеспячэння, прызначанага для Інтэрнэту: фрэймворкі Ruby on Rails і CorneliOS, вэб-прыкладанне Virtualmin. Але таксама пазнаёмімся з прыкладам і нетрадыцыйнага выкарыстання вэб-стандартаў на прыкладзе бібліятэкі GTK+ 3, здольнай ствараць інтэрфейсы праграм з выкарыстаннем HTML5.
Ruby on Rails 4.0
Увесь гэты агляд цалкам атрымаўся прысвечаным вэб-тэхналогіям, хоць спецяльна такой задачы не ставілася. Проста цяпер любая дзейнасць на кампутары ў большасці выпадкаў прама ці ўскосна звязана з WWW. Цяпер нават традыцыйныя офісныя і хатнія праграмы становяцца ўсё больш "вэб-арыентаванымі", не кажучы ўжо пра спецыялізаванае праграмнае забеспячэнне для стварэння сайтаў, вэб-сэрвісаў і іх эксплуатацыі.
У мінулы раз, разглядаючы новую версію мовы PHP, мы гаварылі пра наступіўшы час вэб-прыкладанняў, якія працуюць на баку вэб-сервера, і якія выкарыстоўваюць браўзэр у якасці кліента. Характэрнай асаблівасцю гэтага перыяду развіцця Сусветнага Павуціння з'яўляецца існаванне мноства спецыяльных фрэймворкаў, якія спрашчаюць працэс стварэння гэтых вэб-прыкладанняў.
Але ў дадзеным выпадку пад прастатой не трэба мець на ўвазе лёгкую магчымасць нават хатнім гаспадыням ствараць з іх дапамогай вэб-сэрвісы. Тут прастата іншага роду, якая дазваляе прафесійнаму праграмісту значна павялічыць хуткасць распрацоўкі. Што, напрыклад, добра дэманструе папулярны фрэймворк Ruby on Rails (ROR), чацвёртая версія якога афіцыйна апублікаваная на мінулым тыдні.
Аб'ектна-арыентаваная мова праграмавання Ruby - не для пачаткоўцаў. Гэта зусім не PHP часоў першапачатковага Вэбу, а мова агульнага прызначэння, аналагічная Python. Звычайны Ruby on Rails праграміст - гэта ў большасці выпадкаў ўжо дасведчаны распрацоўшчык, які добра разумее прынцыпы вэб-распрацоўкі.
Фрэймворк Ruby on Rails, па-першае, спрашчае праектаванне структуры прыкладання, прапаноўваючы гатовы стандартны прататып. Гэты гатовы каркас вэб-сэрвісу ўключае стандартную структуру каталогаў і рабочых файлаў праекта. ROR валодае шырокім наборам кансольных інструментаў, якія дазваляюць за лічаныя хвіліны разгарнуць і наладзіць гэты каркас на хостынгу, атрымаўшы ў браўзэры гатовы працуючы сэрвіс з наладжаным праграмным асяроддзем.
Агульны стандарт размяшчэння файлаў, стандарт напісання кода і агульныя правілы праграмавання ў Ruby on Rails даюць магчымасць любому пачаткоўцу хутка зарыентавацца ў канкрэтным праекце і тут жа падключыцца да распрацоўкі. Ўваходжанне ў праект пачаткоўцаў адбываецца вельмі хутка, а гэта важна для каманднай працы.
Па-другое, Ruby on Rails зніжае аб'ём работ на нізкім узроўні з HTML, CSS, JavaScript, а таксама дае абстрагаванне ад канкрэтных рэалізацый СКБД. Праграміст пры стварэнні вэб-сэрвісу можа выкарыстоўваць адзіную мову ад пачатку і да канца: усё, ад шаблонаў да бізнэс-логікі, пішацца на Ruby. Праектаванне працы прыкладання адбываецца з выкарыстаннем схемы "Мадэль-паказ-паводзіны" (MVC).
Дадаткова да таго ў Ruby on Rails "са скрыні" уваходзіць нямала ўзгодненых паміж сабой кампанентаў, якія не трэба асобна прыкручваць, як у выпадку, напрыклад, чыстага PHP. Тут да паслуг праграміста ўжо маюцца: кэшаванне, лакалізацыя, валідацыя формаў, штатная магчымасць гнутка наладжваць роўцінг, выгляд адрасоў, назвы асноўных раздзелаў, магчымасць аўтаматызаванага тэсціравання.
І, нарэшце, добрым выбарам Rails робіць яго адкрытасць. Фрэймворк адкрыты і даступны на ўмовах ліцэнзіі MIT, што практычна дазваляе не толькі свабодна выкарыстоўваць яго зыходны код, але і бясплатна эксплуатаваць.
Чацвёртая версія Ruby on Rails з'яўляецца эвалюцыйнай. Асноўная асаблівасць ROR 4 складаецца ў тым, што гэтая галінка фреймворка можа працаваць толькі пры наяўнасці як мінімум Ruby 1.9.3. А рэкамендаванай версіяй мовы для ROR 4 з'яўляецца Ruby 2.0, якая выйшла нядаўна ў лютым гэтага года. І зараз з выхадам чацвёртых "Рэльсаў" практычна не засталося перашкод, каб усталяваць у сістэме па змаўчанні менавіта гэты самы Ruby 2.0.
$ rvm use 2.0.0 --default
CorneliOS 3.6
Гаворачы аб распрацоўках вэб-прыкладанняў, несправядліва не згадаць мову Perl, з якой і пачыналася вэб-праграмаванне ў Сетцы. Да з'яўлення PHP гэта быў самы папулярны, хоць і не вельмі вытанчаны сродак для стварэння вэб-старонак з дынамічным кантэнтам.
Нягледзячы на тое, што Perl ўсё радзей і радзей разглядаецца як годны інструмент вэб-распрацоўніка, праекты на гэтай мове існуюць - у тым ліку і фрэймворкі для стварэння інтэрнэт-прыкладанняў. У якасці прыкладу можна прывесці арыгінальны праект з адкрытым зыходным кодам CorneliOS, які, з'явіўшыся гадоў шэсць таму назад, не спыняе развівацца, і ў чэрвені гэтага года ён дасягнуў версіі 3.6.
Па-першае, CorneliOS з'яўляецца браўзэрнай "хмарнай аперацыйнай сістэмай". Гэта калі карыстачу прама ў браўзэры прадастаўляецца працоўнае асяроддзе з кнопкай "Пуск", шпалерамі, наборам праграм і "хмарным" сховішчам файлаў. Прыкладам такой "хмарнай АС" можна назваць сучасны сэрвіс iCloud для карыстальнікаў Apple.
Набор скрыптоў CorneliOS таксама можа арганізаваць у браўзэры варянт стандартнага працоўнага стала, дзе запускаюцца на выбар спецыяльныя вэб-прыкладанні, як у поўнаэкранным выглядзе, так і ў шматваконным рэжыме.
Гэтыя прыкладныя праграмы з набору CorneliOS з'яўляюцца perl-скрыптамі, якія працуюць на баку вэб-сервера. У гэтай сістэме іх каля дзясятка - каляндар, нататнік, пошта, калькулятар, файлавы мэнэджар і таму падобнае.
Па-другое, CorneliOS можа прымяняцца як сістэма кіравання кантэнтам (CMS), з дапамогай якой можна арганізаваць свой сайт або вэб-сэрвіс з інтэграванымі вэб-праграмамі. І, трэба сказаць, у гэтай якасці CorneliOS паспяхова прымяняецца, і на афіцыйным сайце маюцца прыклады такога выкарыстання.
Само сабой CorneliOS - гэта фрэймворк, які прадстаўляе каркас для стварэння ўласных прыкладанняў на Perl, у які ўключаны таксама спецыяльная простая мова CornelioSCRIPT, код на якім выглядае крыху менш жудасна, чым стандартны код Perl. З дапамогай CornelioSCRIPT можна лёгка і хутка ствараць простыя прыкладання для гэтай "хмарнай" сістэмы.
Virtualmin 4.01
Ад сродкаў вэб-распрацоўкі лагічна перайсці да саміх вэб-прыкладанняў. Вось да такіх, як панэль для кіравання вэб-хостынгам Virtualmin, што абнавілася нядаўна да чацвёртай версіі.
Панэль кіравання хостынгам з'яўляецца абавязковай для кожнага, хто набыў, напрыклад, выдзелены сервер для сайтаў. Яна прызначаецца для зручнага адміністравання сервера, пры дапамозе браузерного інтэрфейсу. Так з яе дапамогай можна ствараць субдамены, ўсталёўваць параметры баз дадзеных і электроннай пошты, дадаваць новыя сайты і рабіць многае іншае.
Папулярным рашэннем ў хостэраў з'яўляецца панэль CPanel, якая, праўда, каштуе грошай. Але можна без асаблівых страт у камфорце і функцыянальнасці абыйсціся панэллю Virtualmin GPL, якая распаўсюджваецца бясплатна, хоць і мае платны варыянт Virtualmin PRO.
Virtualmin - гэта на самай справе модуль над іншым вэб-прыкладаннем - Webmin, якое забяспечвае разнастайны татальны кантроль над серверам. Але функцыянал Webmin выходзіць далёка за межы патрэб звычайнага пакупніка хостынгу, таму спецыяльна для гэтага прыкладання створана пашырэнне Virtualmin, што ў зручнай форме рэалізуе ўсе, што трэба простаму смяротнаму ўладальніку сайта - наладу віртуальных сервераў, паштовых скрынь, DNS, баз дадзеных і т.п.
Virtualmin працуе на баку вэб-сервера, куды загружаецца і наладжваецца з дапамогай спецыяльнага скрыпту. Падтрымліваюцца наступныя сістэмы: CentOS, Ubuntu LTS, Red Hat Enterprise Linux, Debian.
"Broadway"
Сродкі вэб-распрацоўкі, а таксама самі вэб-прыкладанні - гэта ўсё традыцыйныя тэхналогіі. У заключэнне агляду разгледзім нетрадыцыйнае прымяненне вэб-стандартаў.
Ужо як два гады бібліятэка графічнага інтэрфейсу GTK+3, на аснове якой створаны GNOME 3 і Ubuntu Unity, падтрымлівае спецыяльную падсістэму пад назвай "Broadway", якая дазваляе рэалізаваць інтэрфейс праграм на аснове GTK+ сродкамі HTML5. Іншымі словамі, гэтая падсістэма дазваляе запускаць такія праграмы, як GIMP, Gedit, сіламі вэб-браўзэра. Запуск падобным чынам можа ажыццяўляцца як лакальна, так і выдалена па сетцы.
Але, напрыклад, у Ubuntu не ўключаная падтрымка "Broadway" па змаўчанні. А я, упэўнены, многія хацелі б паглядзець на гэтую фішку ў дзеянні.
Добрая навіна складаецца ў тым, што для Ubuntu 13.04, 12.10 і 12.04 маецца рэпазітар PPA, дзе даступна версія бібліятэкі GTK+3, сабранай з падтрымкай "Broadway". Дакладней ёсць некалькі рэпазітароў PPA, дзе даступны такія мадыфікаваныя сістэмныя бібліятэкі. У мяне атрымалася з такім рэпазітарам:
$ sudo add-apt-repository ppa: malizor/gtk-next-broadway $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install broadwayd
Пры гэтым Unity перастала стабільна працаваць, таму займацца гэтым эксперыментам варта толькі на спецыяльным ПК для тэстаў.
Пасля абнаўлення сістэмных файлаў трэба перазагрузіцца. І прыкладанне ў рэжыме HTML запускаецца ў дзве кансолі. Спачатку ў першым тэрмінале ўводзіцца каманда
$ broadwayd
А потым у другім тэрмінале спецыяльнай радком запускаецца сама праграма, дзе замест <праграма> трэба падставіць імя запускаемага прыкладання.
$ GDK_BACKEND=broadway UBUNTU_MENUPROXY= LIBOVERLAY_SCROLLBAR=0 <праграма>
Пасля чаго засталося толькі адкрыць Firefox і ўвесці наступны адрас: http://localhost:8080. Прыкладанне будзе намалявана з выкарыстаннем вэб-стандартаў.
Не ўсе праграмы такім спосабам запусціліся, а ў тых, што запусціліся, не ўсе функцыі працавалі. Аднак прагрэс у галіне вэб-тэхналогій усё роўна вырабляе ўражанне. На першы погляд такая магчымасць запуску праграм у рэжыме HTML - не больш чым цікавы фокус. Аднак упэўнены, гэты фокус кажа пра тое, што звыклы нам і традыцыйны Вэб ў хуткім часе, магчыма, можа вельмі моцна змяніцца.
Міхаіл АСТАПЧЫК
Горячие темы