front-end бағдарламашыға қойылатын талаптар

Ассалаумағалейкум достар, қалай жағдайларың сендердің, барсыңдар ма? Неге көрінбейсіңдер? Немен айналысып жүрсіңдер? Кім қайда жүр? Жазып тұрсаңдарш блогымызды суытпай.
Өзімнің де осы блогқа жазбағаныма біраз болған екен, бүгін осындай бір тақырыппен жазғым келіп отыр.

Сонымен front-end бағдарламашы.
Мен өзім жалпы front-end яғни клиенттік бағдарламашының, интерфейс құрушының жұмысы оңай ғой деп ойлайтынмын. Негізі ия былай оңай сияқты. Әйтеуір қазір өзім верстальщик болып жұмыс жасап, бақытты өмір сүріп жүрген жәйым бар. Жұмысым өзіме ұнайды, жұмыс барысында туындаған тапсырмаларды орындауға шамам жетіп жатыр, верстка сірә весткасымен оны жаттап алдым, сосын интерфейсті жандандыру, автоматтандыру, скрипт жазу, анимациялау, анда-санда Ajax, шүкір маған тиесілі осы жұмысты тәуір орындаймын :) Енді соңғы кезде пайда болған (оған да бірнеше жыл болды негізі) HTML5 пен CSS3 бар. Оған да барымша ілесіп, жаңа мүмкіндіктерін тез меңгеріп алуға тырысып жатырмын, бірақ жұмыста әзірге ол технологияларды кеңінен қолдануға сұраныс жоқ. Ал скриптке келетін болсақ, сол Javascript, дәлірек айтқанда JQuery. Сосын азды көпті слайдерлерім бар қолданатын. Осыыыы.

Енді мұны не үшін айтып жатырмын. Жоғарыда айтып кеткен біліміммен өзімді клиенттік бағдарламашы деп жүрмін ғо енді. Бірақ бұл мен ойлағандай оңай емес екен. front-end демей ақ қояйын, ең құрығанда өзіңді верстальщикпын деп ұялмай айту үшін мында жазылғандарды білуің керек екен. Бұл жерде не жазылмаға дейсіңдер құдай-ау. Бүге шігесіне дейін жазыпты. Не сұмдық мынау, сонда қарапайым щегол верстальщик болу үшін де осынша нәрсені үйрену керек па?

Шартты түрде, өзімізді верстканың қыр-сырын меңгерген веб-мастер ретінде қарастырайық. Біраз уақыт өте келе, қашанғы верстальщик болып жүре береміз, өзімізді қашаншы веб-мастер деп атай береміз, біз де өзімізді Интерфейс құрушы, front-end бағдарламашы деп таныстырғымыз келеді. Былай қарасаң, сол front-end бағдарламашының жұмысын жасап жатқан сияқтымыз, біз де анда санда HTML5, canvas, CSS3 қолданамыз. Кейде тіпті Браузерде болып жатқан оқиғаларға арнап скрипт те жазамыз, қолданушыға ыңғайлы болсын деп өзімізше интерфейсті де түсінікті, ыңғайлы етіп жасап жатырмыз. Ойлана келе өзімізге клиенттік бағдарламашы, front-end құрастырушы деген атақ беріп алдық :) Бақыттымыз әрине. Қалай естіледі десеңзі front-end!

Мен де өзіне осындай атақ беріп алған версталщиктердің қатарынанмын бро. Мейлі ешкім тиіспей ақ қойсын білмейсің деп, ешкім тексермей ақ қойсын білімімді. Қазіргі білген біліміме жұрт таңдана берсін, ең болмағанда front-end бағдарламашымын деп сыбырлап айтуың үшін де біраз үйрену керек!

Міне бір қарапайым мысал. Жақында бір сайттан вакансия көріп қалдып, "front-end-ке Javascript құрастырушы" керек деп жатыр екен. Айлығы жүз елу мыңнан жоғары депті. Елең ете қалдым, ии бұл мен ғо! Менің жұмысым ғо мынау, жасай алатын сияқтымын ғо мынаны деген есек дәмеммен сілтемені ашып қалдым. Сол күннен бастап бүгінге дейін ішумен болдым. Ана жерде жазылған талаптарының жартысын білем екен де (50%), қалған жартысының жартысынан жалпы хабарым бар, былай естіп жүргендерім екен (25%). Ал қалған жартысын (25%) бірінші рет естуім. Талаптары мынадай екен:

Міндерттері:
  • Дайын шаблондарды (верстка) Javascript-фреймуорктармен біріктіру (бұл енді аздап түсінікті)
  • REST арқылы серверлік логикамен интеграциялау (ШТА?! мынаны мен білмеймін, егер білген жағдайда да былай аталатынын білмеймін)
  • Веб бағдарламаны интерактивті, жинақылық, жанды ету (бұл да енді түсініктілеу)
  • Веб бағдарламаны эксплуатациялау барысында туындаған қалетіктерді жөндеу, әрі қарата бағдарламаны қадағалап, қолдап отыру (ОК бұл да мұмкін емес емес)

Қойылатын талаптар:
  • Javascript-ті және Javascript-тегі ООП-ны жетік меңгеру (іііі сол ООП-сын дұрыстап түсінбей ақ қойдым)
  • Callback-дармен епті жұмыс жасай білу (қаншалықты епті екенімді білмеймін, бірақ өзімді Callback-тармен жұмыс жасап білетін гуманоид ретінде қарастырамын)
  • Ең болмағанда келесі фреймуорктардың бірімен жұмыс жасап көрген болуы керек
    • Rails 3.2 + ruby
    • Django 1.x python

    • ZendFrameork, Yii php (алақай мынаны мен жалпы ұстап көрмесем де, көзіммен көргенмін)
    • AngularJS
    • Backbone.js
    • Emder.js
  • React.js білгені құпталады (мынаны бірінші рет естіп тұрмын)

Қосымша мыналарды білгені абзал:
  • CSS, SASS + COMPASS, LESS, OOCSS, SMACSS (мыналарды жалпы көріп жүргенім болмаса, қолданбайды екенмін)
  • Vertical Rhythm (жоқ білмеймін, бірінші рет естіп тұрмын)
  • BEM методологиясын білу (енді БЭМ жайында естіп, көріп жүрмін, анда санда қолданамын)
  • Media breakpoints (Білмеймін, бірінші рет естіп тұрмын)
  • Browser Support (CanIUse.com) (таныс нәрсе сияқты :))
  • Векторлы иконкаларды шрифт ретінде қолдану (Entypo) (қиын емес сияқты мынау)
  • Sprite қолдану (ааа мұны мен білем)
  • HTML 5 API (жалпы білемін, хабарым бар)
  • Безье қисықтарын білу (мынау не үшін керек ащще? сұмдық)
  • <picture> қолдану (түсінбедім, білмейтін шығармын)
  • WebGL түсіну (түсінем ғо бро, бірақ қандай деңгейде?)
  • Retina Support

Жоғарыда жазылған технологиялар мен әдістерден бөлек біз келесілерді қолданамыз: (бұл, осыларды да білгенің жөн дегенді білдіреді)
  • MV* (MVC, MVP, MVVP) (ал керек болса, кесіп ал кесетің жерді)
  • Node.js (сонымен қоса NPM) (бұл туралы көп естідім, жалпы хабарым бар, бірақ қолданып көрмеппін)
  • Yeoman құралы (Yo, Grunt Bower) (жо жоқ, хабарым жоқ)
  • Foundation framework, Bootstrap (жалпы көріп жүрген нәрселерім, қолданып көрмедім)
  • Шаблонизаторлар (Handlebars, Underscore) (естуім бар ))) )
  • HTML5 Canvas (ооо мынаны білетін сияқтымын, аздап бірақ, қолданып жүрмін)
  • CoffeeScript (естіп жүрмін, қолданып көру керек еді)

Енді түсінікті болған шығар дә? (((( Өзімді front-endте жүрмін деп қалай айтам осыдан кейін? Жәәә, ыңылдай бермей үйрену керек, әлі көөөп нәрсе үйрену керек!

Осыған байланысты мен Әділханов Абылай, жоғарыда жазылған барлық технологиялармен әдістермен, бағдарламалармен, фреймуорктармен, скрипттермен, тілдермен танысып шығуға уәде беремін. Кімге, не үшін уәде деріп жатырсың? дейсіңдер ме? Өзім үшін, өзіме! Үйренген, танысқан, қолданған әдіс технологияларымды осы блогқа жазып, білімімді бекітіп тұратын боламын. Сен де қалыспа дос, бірге үйренейік. Ең алдымен келесілерден бастаймын.

  • HTML 5 API
  • HTML5 Canvas
  • CSS, SASS + COMPASS, LESS, OOCSS, SMACSS
  • BEM методологиясы
  • CoffeeScript
  • Javascript-тегі ООП
  • Node.js

Осы тақырыптар бойынша жазба күтіңіздер! Сау болыңыздар!

6 пікір

ereke_enu
HR маман қатты қызып кетсе керек)) Вакансия қай қалада? Қазақстанда ма өзі?
Abylai
Өзім де солай ойладым .) Бірақ үйреніп алу керек. Астанада
ereke_enu
Аха, бастама оң болсын. Жазып отырсаң, біз де көз қырын салып жүрейік.
rauan
сұмдық… біреуінде қолдана алмаймын (
Umarbekov
Бюджеті аз компаниялар үйіп төгіп осылай жазады. Менде 50%ғана біледі екенмін. Бірақ мен фронтенд бағдарламашы емеспін… Егер үйренуді бастасаң, әр үйренген затыңды жазып, түсіндіріп отыр. Бізде хабардар болып отырайық...әйтпесе бізде оларды үйренуге уақыт жоқ…
ereke_enu
өзгертілді
Соңғы өңделген уақыты:
Тек тіркелген қолданушылар ғана пікір қалдыра алады.