Ҳангоми навиштани ин мақола ягон чаҳорчӯбаи JavaScript сохта нашудааст .
Дар зер аз мақолаи "Ин оянда аст" аз Circle CI илҳом гирифта шудааст. Шумо метавонед нусхаи аслиро дар ин ҷо хонед . Ин порча танҳо як андеша аст ва мисли ҳар чаҳорчӯбаи JavaScript, он набояд аз ҳад зиёд ҷиддӣ гирифта шавад.
Ҳей, ман ин лоиҳаи нави вебро гирифтам, аммо рости гап, ман чанд сол боз вебро рамзгузорӣ накардаам ва шунидам, ки манзара каме тағйир ёфтааст. Шумо навтарин веб таҳиягари ин ҷо ҳастед, дуруст?
- Истилоҳи аслӣ муҳандиси Front End аст, аммо бале, ман бачаи дуруст ҳастам. Ман дар соли 2016 веб кор мекунам. Визуалҳо, плеерҳои мусиқӣ, дронҳои парвозкунанда, ки футбол бозӣ мекунанд, шумо онро номбар мекунед. Ман навакак аз JsConf ва ReactConf баргаштам, бинобар ин ман технологияҳои навтарин барои сохтани барномаҳои вебро медонам.
Хуб. Ман бояд саҳифаеро эҷод кунам, ки фаъолияти охирини корбаронро нишон диҳад, бинобар ин ман танҳо бояд маълумотро аз нуқтаи ниҳоии REST гирам ва онро дар як намуди ҷадвали филтршаванда намоиш диҳам ва агар чизе дар сервер тағир ёбад, онро навсозӣ кунам. Ман фикр мекардам, ки шояд jQuery-ро барои гирифтан ва намоиш додани маълумот истифода барад?
-Худоё, дигар ҳеҷ кас jQuery-ро истифода намекунад. Шумо бояд кӯшиш кунед, ки React-ро омӯзед, ин соли 2016 аст.
Оҳ, хуб. React чист?
-Ин як китобхонаи олиҷанобест, ки аз ҷониби баъзе бачаҳо дар Facebook сохта шудааст, он воқеан ба барномаи шумо назорат ва иҷроиш меорад ва ба шумо имкон медиҳад, ки ҳама гуна тағиротро ба осонӣ идора кунед.
Ин тоза садо медиҳад. Оё ман метавонам React-ро барои намоиш додани маълумот аз сервер истифода барам?
-Бале, аммо аввал шумо бояд React ва React DOM-ро ҳамчун китобхона дар вебсайти худ илова кунед.
Истед, чаро ду китобхона?
-Пас, яке китобхонаи воқеӣ аст ва дуввумӣ барои коркарди DOM, ки ҳоло шумо метавонед онро дар JSX тавсиф кунед.
JSX? JSX чист?
-JSX танҳо як васеъшавии синтаксиси JavaScript аст, ки ба XML хеле монанд аст. Ин як роҳи дигари тавсифи DOM аст, онро ҳамчун HTML беҳтар мешуморед.
Бо HTML чӣ бадӣ дорад?
-Ин 2016 аст. Дигар ҳеҷ кас мустақиман HTML-ро код намедиҳад.
Дуруст. Ба ҳар ҳол, агар ман ин ду китобхонаро илова кунам, пас ман метавонам React -ро истифода барам?
-Бале. Шумо бояд Babel илова кунед, ва он гоҳ шумо метавонед React-ро истифода баред.
Китобхонаи дигар? Бобил чист?
-Оҳ, Babel як интиқолдиҳандаест, ки ба шумо имкон медиҳад, ки версияҳои мушаххаси JavaScript-ро ҳадаф қарор диҳед, дар ҳоле ки шумо дар ҳама гуна версияи JavaScript рамзгузорӣ мекунед. Ба шумо лозим нест, ки Babel-ро барои истифодаи ReactJS дохил кунед, аммо агар ин тавр накунед, шумо бо истифодаи ES5 часпидаед ва биёед воқеӣ бошем, он соли 2016 аст, шумо бояд дар ES2016+ мисли дигарон рамзгузорӣ кунед.
ES5? ES2016+? Ман дар ин ҷо гум шуда истодаам. ES5 ва ES2016+ чист?
-ES5 маънои ECMAScript 5-ро дорад. Ин нашрияест, ки бештари одамон ҳадафи он қарор доранд, зеро он аз ҷониби аксари браузерҳо имрӯз амалӣ карда мешавад.
ECMAScript?
-Бале, медонед, стандарти скрипти JavaScript дар соли 1999 пас аз нашри аввалияаш дар соли 1995 асос ёфта буд, дар он замон JavaScript Livescript ном дошт ва танҳо дар Netscape Navigator кор мекард. Он вақт ин хеле бесарусомон буд, аммо шукр, ки ҳоло корҳо хеле равшананд ва мо ба мисли 7 нашри ин татбиқ дорем.
7 нашр. Дар замони ҳозира. Ва ES5 ва ES2016+ ҳастанд?
- Нашри панҷум ва ҳафтум мутаносибан.
Истед, бо шашум чӣ шуд?
-Шумо ES6-ро дар назар доред? Бале, ман дар назар дорам, ки ҳар як нашр як маҷмӯи қаблӣ аст, бинобар ин, агар шумо ES2016+ -ро истифода баред, шумо тамоми хусусиятҳои версияҳои қаблиро истифода мебаред.
Дуруст. Пас чаро ES2016+ -ро аз ES6 истифода баред?
-Хуб, шумо МЕТАВОНЕД ES6-ро истифода баред, аммо барои истифодаи хусусиятҳои ҷолиб ба монанди асинхронӣ ва интизорӣ, шумо бояд ES2016+ -ро истифода баред. Дар акси ҳол, шумо бо генераторҳои ES6 бо корутинҳо мемонед, то зангҳои асинхронӣ барои ҷараёни дурусти назоратро боздоред.
Ман намедонам, ки шумо чӣ гуфтед ва ҳамаи ин номҳо печидаанд. Инак, ман танҳо як миқдори маълумотро аз сервер бор карда истодаам, ман пештар метавонистам танҳо jQuery-ро аз CDN дохил кунам ва танҳо бо зангҳои AJAX маълумот гирам, чаро ман ин корро карда наметавонам?
-Ин соли 2016 аст, дигар ҳеҷ кас jQuery-ро истифода намебарад, он дар як хӯшаи рамзи спагетти ба охир мерасад. Хама инро медонанд.
Дуруст. Пас, алтернативаи ман ин бор кардани се китобхона барои гирифтани маълумот ва намоиш додани ҷадвали HTML мебошад.
-Хуб, шумо ин се китобхонаро дохил мекунед, аммо онҳоро бо мудири модул ҷамъ кунед, то танҳо як файлро бор кунед.
Ман мебинам. Ва мудири модул чист?
-Таъриф аз муҳит вобаста аст, аммо дар веб мо одатан ҳама чизеро дар назар дорем, ки модулҳои AMD ё CommonJS-ро дастгирӣ мекунанд.
Рийит. Ва AMD ва CommonJS ...?
- Таърифҳо. Роҳҳое мавҷуданд, ки чӣ гуна китобхонаҳо ва синфҳои сершумори JavaScript бояд мутақобила кунанд. Медонед, содирот ва талаб мекунад? Шумо метавонед якчанд файлҳои JavaScript-ро нависед, ки AMD ё CommonJS API-ро муайян мекунанд ва шумо метавонед чизе ба монанди Browserify-ро барои бастани онҳо истифода баред.
Хуб, ин маъно дорад… Ман фикр мекунам. Browserify чист?
-Ин абзорест, ки ба шумо имкон медиҳад, ки вобастагии тавсифшудаи CommonJS-ро ба файлҳое, ки метавонанд дар браузер иҷро шаванд, ҷамъ кунед. Он барои он сохта шудааст, ки аксари одамон ин вобастагиҳоро дар феҳристи npm нашр мекунанд.
феҳристи npm?
-Ин як анбори хеле калони ҷамъиятӣ аст, ки дар он одамони оқил код ва вобастагиҳоро ҳамчун модул ҷойгир мекунанд.
Мисли CDN?
-На дарвоқеъ. Он бештар ба махзани марказонидашуда монанд аст, ки дар он ҳар кас метавонад китобхонаҳоро нашр ва зеркашӣ кунад, аз ин рӯ шумо метавонед онҳоро барои таҳияи маҳаллӣ истифода баред ва агар хоҳед, онҳоро ба CDN бор кунед.
Оҳ, мисли Бауэр!
-Бале, аммо ҳоло соли 2016 аст, дигар касе аз Боуэр истифода намекунад.
Оҳ, ман мебинам… пас ман бояд китобхонаҳоро аз npm зеркашӣ кунам?
-Бале. Масалан, агар шумо хоҳед, ки React -ро истифода баред, шумо модули React-ро зеркашӣ мекунед ва онро ба рамзи худ ворид мекунед. Шумо метавонед онро қариб барои ҳар як китобхонаи маъмули JavaScript иҷро кунед.
Оҳ, мисли Angular!
-Angular аст, то 2015. Аммо ҳа. Angular дар баробари VueJS ё RxJS ва дигар китобхонаҳои соли 2016 дар он ҷо хоҳад буд. Мехоҳед дар бораи онҳо маълумот гиред?
Биёед бо React пайваст шавем, ман ҳоло бисёр чизҳоро омӯхта истодаам. Пас, агар ба ман лозим шавад, ки React -ро истифода барам, ман онро аз ин npm мегирам ва он гоҳ ин чизи Browserify -ро истифода мебарам?
-Бале.
Ба назар чунин мерасад, ки барои гирифтани як қатор вобастагӣ ва пайваст кардани онҳо хеле душвор аст.
-Ин аст, ки чаро шумо менеҷери вазифаҳо ба монанди Grunt ё Gulp ё Брокколиро барои автоматикунонии Browserify истифода мебаред. Heck, шумо ҳатто метавонед Mimosa истифода баред.
Грунт? Гулп? Брокколӣ? Мимоза? Ҳоло мо дар бораи он гап мезанем?
- Роҳбарони вазифаҳо. Аммо онҳо дигар сард нестанд. Мо онҳоро дар соли 2015 истифода кардем, баъд Makefiles-ро истифода мебарем, аммо ҳоло мо ҳама чизро бо Webpack мепӯшем.
Makefiles? Ман фикр мекардам, ки он асосан дар лоиҳаҳои C ё C++ истифода мешавад.
-Бале, аммо зоҳиран дар веб мо мушкил сохтани чизҳоро дӯст медорем ва сипас ба асосҳо бармегардем. Мо ин корро ҳар сол анҷом медиҳем, танҳо интизор шавед, мо пас аз як ё ду сол дар веб монтаж мекунем.
Оҳ. Шумо чизеро бо номи Webpack зикр кардед?
-Ин як менеҷери дигари модул барои браузер дар ҳоле ки як навъ иҷрокунандаи вазифа аст. Ин ба версияи беҳтари Browserify монанд аст.
Оҳ, хуб. Чаро беҳтар аст?
-Хуб, шояд беҳтар нест, ин танҳо дар бораи он аст, ки вобастагии шумо чӣ гуна бояд баста шавад. Webpack ба шумо имкон медиҳад, ки менеҷерҳои модулҳои гуногунро истифода баред, на танҳо CommonJS, масалан модулҳои ES6-и модарии дастгирӣшаванда.
Ман аз ин ҳама чизи CommonJS/ES6 бениҳоят ошуфтаам.
-Ҳама ҳастанд, аммо шумо дигар ба SystemJS аҳамият надиҳед.
Исои Масеҳ, дигар исм-js. Хуб, ва ин SystemJS чист?
-Хуб, бар хилофи Browserify ва Webpack 1.x, SystemJS як боркунаки модули динамикӣ мебошад, ки ба шумо имкон медиҳад, ки модулҳои сершуморро дар як файли гуногун пайваст кунед, ба ҷои он ки онҳоро дар як файли калон ҷамъ кунед.
Мунтазир бошед, аммо ман фикр мекардам, ки мо мехоҳем китобхонаҳои худро дар як файли калон созем ва онро бор кунем!
-Бале, аммо азбаски HTTP/2 ҳоло меояд, дархостҳои сершумори HTTP воқеан беҳтаранд.
Мунтазир бошед, пас оё мо наметавонем танҳо се китобхонаи аслиро барои React илова кунем ??
-На дарвоқеъ. Ман дар назар дорам, ки шумо метавонед онҳоро ҳамчун скриптҳои беруна аз CDN илова кунед, аммо ба ҳар ҳол шумо бояд Бобилро дохил кунед.
Оҳ. Ва ин бад аст, дуруст?
-Бале, шумо тамоми ядрои бобилро дохил мекардед ва он барои истеҳсолот самаранок нест. Дар истеҳсолот шумо бояд як қатор вазифаҳои пешакиро иҷро кунед, то лоиҳаи худро омода созед, ки маросими даъвати Шайтонро ба як рецепти тухми судак монанд мекунад. Ба шумо лозим аст, ки дороиҳоро кам кунед, онҳоро зишт кунед, css-ро дар болои пӯшиш ҷойгир кунед, скриптҳоро ба таъхир андозед, инчунин-
Ман гирифтам, гирифтам. Пас, агар шумо китобхонаҳоро мустақиман ба CDN дохил намекардед, шумо ин корро чӣ гуна мекардед?
-Ман онро аз Typescript бо истифода аз комбинатсияи Webpack + SystemJS + Babel интиқол медодам.
Typescript? Ман фикр мекардам, ки мо бо JavaScript рамзгузорӣ мекунем!
-Typescript IS JavaScript аст, ё беҳтараш, маҷмӯи болоии JavaScript, махсусан JavaScript дар версияи ES6. Шумо медонед, ки версияи шашуми мо қаблан дар бораи он сӯҳбат кардем?
Ман фикр мекардам, ки ES2016+ аллакай маҷмӯи ES6 аст! ЧАРО ҳоло ба мо ин чизе бо номи Typescript лозим аст?
-Оҳ, зеро он ба мо имкон медиҳад, ки JavaScript-ро ҳамчун забони чопшуда истифода барем ва хатогиҳои вақти иҷроро кам кунем. Соли 2016 аст, шумо бояд баъзе намудҳоро ба рамзи JavaScript-и худ илова кунед.
Ва Typescript бешубҳа ин корро мекунад.
-Ҷараён инчунин, гарчанде ки он танҳо чопкуниро тафтиш мекунад, дар ҳоле ки Typescript як маҷмӯи JavaScript аст, ки бояд тартиб дода шавад.
Оҳ… ва ҷараён аст?
-Ин як санҷиши статикӣ аст, ки аз ҷониби баъзе бачаҳо дар Facebook сохта шудааст. Онҳо онро дар OCaml рамзгузорӣ карданд, зеро барномасозии функсионалӣ олӣ аст.
OCaml? Барномасозии функсионалӣ?
-Ин чизест, ки кӯдакони олиҷаноб имрӯзҳо истифода мебаранд, шумо медонед, 2016? Барномасозии функсионалӣ? Функсияҳои фармоишии баланд? Карри? Функсияҳои пок?
Ман намедонам, ки шумо чӣ гуфтед.
-Дар аввал касе намегӯяд. Инак, шумо танҳо бояд бидонед, ки барномасозии функсионалӣ аз OOP беҳтар аст ва он чизест, ки мо бояд дар соли 2016 истифода барем.
Мунтазир бошед, ман OOP-ро дар коллеҷ омӯхтам, ман фикр кардам, ки ин хуб аст?
- Java пеш аз он ки Oracle харидорӣ кунад, ҳамин тавр буд. Ман дар назар дорам, ки OOP дар он замонҳо хуб буд ва он имрӯз ҳам истифода мешавад, аммо ҳоло ҳама дарк мекунанд, ки ҳолати тағирёбанда ба лагадкӯб кардани кӯдакон баробар аст, бинобар ин ҳоло ҳама ба объектҳои тағирнопазир ва барномасозии функсионалӣ мегузаранд. Бачаҳои Ҳаскелл солҳои тӯлонӣ онро даъват мекарданд, - ва маро бо бачаҳои Элм оғоз накунед - аммо хушбахтона дар веб ҳоло мо китобхонаҳое ба монанди Рамда дорем, ки ба мо имкон медиҳанд, ки барномасозии функсионалӣ дар JavaScript оддӣ истифода барем.
Оё шумо танҳо ба хотири он номҳоро мепартоед? Рамнда чист?
-Не. Рамда. Мисли Ламбда. Шумо медонед, ки китобхонаи Дэвид Чемберс?
Довуд кист?
- Дэвид Чемберс. Ҷавони олӣ. Бозии табаддулотро бозӣ мекунад. Яке аз саҳмгузорон барои Рамда. Шумо инчунин бояд Эрик Майерро тафтиш кунед, агар шумо дар бораи омӯзиши барномасозии функсионалӣ ҷиддӣ бошед.
Ва Эрик Майер ...?
-Бачаи барномасозии функсионалӣ низ. Бачаи олиҷаноб. Вай як қатор презентатсияҳо дорад, ки дар он ҷо ҳангоми истифодаи ин куртаи аҷиби ранга Agile-ро партов мекунад. Шумо инчунин бояд баъзе чизҳоро аз Tj, Jash Kenas, Sindre Sorhus, Paul Irish, Addy Osmani-ро тафтиш кунед.
Дуруст. Ман шуморо дар он ҷо боздорам. Ҳама чиз хуб ва хуб аст, аммо ман фикр мекунам, ки ҳама чиз барои гирифтани маълумот ва намоиш додани он хеле мураккаб ва нолозим аст. Ман мутмаин ҳастам, ки барои сохтани ҷадвал бо маълумоти динамикӣ ба ман лозим нест, ки ин одамонро донам ё ин ҳама чизҳоро омӯзам. Биёед ба React баргардем. Чӣ тавр ман метавонам маълумотро аз сервер бо React гирам?
-Хуб, шумо аслан бо React маълумот намегиред, шумо танҳо бо React маълумотро намоиш медиҳед.
Оҳ, лаънат ба ман. Пас шумо барои гирифтани маълумот чӣ истифода мекунед?
-Шумо барои гирифтани маълумот аз сервер Fetch истифода мебаред.
Мебахшӣ? Оё шумо Fetch-ро барои гирифтани маълумот истифода мебаред? Ҳар касе, ки ин чизҳоро номбар мекунад, ба тезаурус ниёз дорад.
-Ман ҳақ медонам? Гирифтани он номи амалисозии аслӣ барои иҷрои XMLHttpRequests бар зидди сервер аст.
Оҳ, ҳамин тавр AJAX.
-AJAX танҳо истифодаи XMLHttpRequests аст. Аммо албатта. Fetch ба шумо имкон медиҳад, ки AJAX-ро дар асоси ваъдаҳо иҷро кунед, ки пас шумо метавонед онро ҳал кунед, то аз ҷаҳаннам занги бозгашт канорагирӣ кунед.
Бозгашт ба ҷаҳаннам?
-Ҳа. Ҳар дафъае, ки шумо дархости асинхронӣ алайҳи сервер иҷро мекунед, шумо бояд посухи онро интизор шавед, ки он гоҳ шуморо водор мекунад, ки функсияро дар дохили функсия илова кунед, ки пирамидаи занг аз ҷаҳаннам номида мешавад.
Оҳ, хуб. Ва ин ваъда онро ҳал мекунад?
-Ҳақиқатан. Бо истифода аз зангҳои бозгашти худ тавассути ваъдаҳо, шумо метавонед рамзро осонтар нависед, онҳоро масхара кунед ва санҷед, инчунин дархостҳои ҳамзамонро иҷро кунед ва то бор шудани ҳамаи онҳо интизор шавед.
Ва ин метавонад бо Fetch анҷом дода шавад?
-Бале, аммо танҳо агар корбари шумо браузери ҳамешасабзро истифода барад, вагарна ба шумо лозим аст, ки полифили Fetch -ро дохил кунед ё Request, Bluebird ё Axios -ро истифода баред.
Ба хотири Худо чанд китобхона бояд донам? Аз онҳо чанд нафаранд?
-Ин JavaScript аст. Ҳазорҳо китобхонаҳо бояд вуҷуд дошта бошанд, ки ҳама як корро мекунанд. Мо китобхонаҳоро медонем, воқеан, беҳтарин китобхонаҳо дорем. Китобхонаҳои мо хеле хубанд ва баъзан мо ба онҳо расмҳои Гай Фиериро дохил мекунем.
Оё шумо танҳо Гай Фиери гуфтед? Биёед ин корро ба охир расонем. Ин китобхонаҳои Bluebird, Request, Axios чӣ кор мекунанд?
-Онҳо китобхонаҳо барои иҷрои XMLHttpRequests мебошанд, ки ваъдаҳоро бармегардонанд.
Оё усули AJAX-и jQuery ба баргардонидани ваъдаҳо низ шурӯъ накард?
-Дар соли 2016 дигар калимаи “Ҷ”-ро истифода намебарем. Танҳо Fetch-ро истифода баред ва ҳангоми дар браузер мавҷуд набудани он пур кунед ё ба ҷои Bluebird, Request ё Axios -ро истифода баред. Пас ваъдаро бо интизорӣ дар доираи функсияи асинхронӣ ва бум идора кунед, шумо ҷараёни дурусти назорат доред.
Ин бори сеюм аст, ки шумо интизор ҳастед, аммо ман намедонам, ки он чӣ аст.
-Await ба шумо имкон медиҳад, ки занги асинхронӣ манъ карда шавад ва ба шумо имкон медиҳад, ки ҳангоми гирифтани маълумот ва дар маҷмӯъ хониши кодро беҳтар назорат кунед. Ин аҷиб аст, шумо танҳо бояд боварӣ ҳосил кунед, ки шумо пешакии марҳилаи 3-ро дар Babel илова мекунед ё функсияҳои синтаксиси асинкӣ ва плагини табдили асинкро ба генератор истифода баред.
Ин девона аст.
-Не, девонавор он аст, ки шумо бояд рамзи Typescript-ро пешакӣ тартиб диҳед ва сипас онро бо Бобил интиқол диҳед, то интизор шавед.
Чӣ? Он ба Typescript дохил карда нашудааст?
-Ин дар версияи навбатӣ кор мекунад, аммо аз версияи 1.7 он танҳо ES6-ро ҳадаф қарор медиҳад, бинобар ин, агар шумо хоҳед, ки интизориро дар браузер истифода баред, аввал ба шумо лозим аст, ки рамзи Typescript-и худро бо ҳадафи ES6 ва сипас Babel тартиб диҳед, ки ба ҳадафи ES5 мерасад.
Дар ин лаҳза ман намедонам чӣ гӯям.
— Ана, осон аст. Ҳама чизро дар Typescript рамзгузорӣ кунед. Ҳама модулҳое, ки Fetch-ро истифода мебаранд, онҳоро барои ҳадафи ES6 тартиб медиҳанд, онҳоро бо Babel дар марҳилаи 3-и пешакӣ насб мекунанд ва онҳоро бо SystemJS бор мекунанд. Агар шумо Fetch надошта бошед, онро пур кунед ё Bluebird, Request ё Axios-ро истифода баред ва ҳама ваъдаҳои худро бо интизорӣ иҷро кунед.
Мо таърифҳои хеле гуногуни осон дорем. Ҳамин тавр, бо ин маросим ман ниҳоят маълумот гирифтам ва акнун ман метавонам онро бо React намоиш диҳам, дуруст?
-Оё аризаи шумо ягон тағйироти штатиро баррасӣ мекунад?
Эрр, ман чунин фикр намекунам. Ман танҳо бояд маълумотро нишон диҳам.
-Оҳ, Худоро шукр. Дар акси ҳол, ман бояд ба шумо Flux ва татбиқҳоро ба монанди Flummox, Alt, Fluxible шарҳ диҳам. Гарчанде ки ростқавл бошед, шумо бояд Redux-ро истифода баред.
Ман танҳо аз болои ин номҳо парвоз мекунам. Боз, ман танҳо бояд маълумотро нишон диҳам.
-Оҳ, агар шумо танҳо маълумотеро намоиш диҳед, ки барои оғоз ба React лозим набуд. Шумо бо муҳаррики шаблонсозӣ хуб мебудед.
Шумо маро масхара мекунед? Оё шумо фикр мекунед, ки ин хандаовар аст? Оё шумо ба наздикони худ чунин муносибат мекунед?
-Ман танҳо фаҳмондам, ки шумо чӣ кор карда метавонед.
Ист. Фақат бас.
-Ман дар назар дорам, ҳатто агар он танҳо бо истифода аз муҳаррики шаблонсозӣ бошад ҳам, агар ман дар ҷои шумо ман як комбинатсияи Typescript + SystemJS + Babel истифода мекардам.
Ман бояд маълумотро дар саҳифа нишон диҳам, на марги аслии MK Sub Zero. Танҳо ба ман бигӯед, ки кадом муҳаррики шаблонро истифода кунам ва ман онро аз он ҷо мегирам.
-Бисёр аст, бо кадомаш шиносед?
Оҳ, номашро дар ёд надорам. Он вакт хеле пеш буд.
-jШаблонҳо? jQote? ПОК?
Эрр, занг намезанад. Дигар?
-Шаффофият? JSRender? MarkupJS? KnockoutJS? Он кас дутарафа бастагӣ дошт.
Дигар?
-PlatesJS? jQuery-tmpl? Дастҳо? Баъзе одамон то ҳол онро истифода мебаранд.
Мумкин ки. Оё монанд ба ин охирин вуҷуд дорад?
-Мӯйлаб, зери хат? Ман фикр мекунам, ки ҳоло ҳатто лодаш бояд ростқавл бошад, аммо онҳо соли 2014 мебошанд.
Эрр.. шояд он навтар буд.
-Яде? DustJS?
Не.
-DotJS? EJS?
Не.
-Нонжука? ECT?
Не.
-Маҳ, ба ҳар ҳол синтаксиси Coffeescript ба касе маъқул нест. Jade?
Не, шумо аллакай Jade гуфтед.
— Ман Пугро дар назар доштам. Ман Jade-ро дар назар доштам. Дар назар дорам, ки Ҷейд ҳоло Пуг аст.
Оҳ. Не. Дар хотир надорам. Шумо кадомашро истифода мебаред?
-Эҳтимол танҳо сатрҳои қолаби модарии ES6.
Биёед тахмин кунам. Ва ин ES6-ро талаб мекунад.
-Дуруст.
Вобаста аз кадом браузере, ки ман истифода мебарам, ба Babel ниёз дорад.
-Дуруст.
Ки агар ман мехоҳам бидуни илова кардани тамоми китобхонаи асосӣ дохил шавам, ман бояд онро ҳамчун модул аз npm бор кунам.
-Дуруст.
Ки, Browserify ё Wepback-ро талаб мекунад ё эҳтимолан чизи дигаре бо номи SystemJS.
-Дуруст.
Ки, агар он Webpack набошад, идеалӣ бояд аз ҷониби як давандаи вазифа идора карда шавад.
-Дуруст.
Аммо, азбаски ман бояд барномасозии функсионалӣ ва забонҳои чопшударо истифода барам, ман аввал бояд Typescript-ро пешакӣ тартиб диҳам ё ин чизи Flow-ро илова кунам.
-Дуруст.
Ва он гоҳ онро ба Бобил фиристед, агар ман мехоҳам интизориро истифода барам.
-Дуруст.
Пас, ман метавонам Fetch, ваъдаҳо ва ҷараёни назорат ва ҳама он ҷодуро истифода барам.
-Танҳо фаромӯш накунед, ки polyfill Fetch -ро фаромӯш накунед, агар он дастгирӣ нашавад, Сафари то ҳол аз ӯҳдаи он баромада наметавонад.
Шумо медонед ки. Ман фикр мекунам, ки мо дар ин ҷо тамом шудем. Дар асл, ман фикр мекунам, ки ман тамом шудаам. Ман бо веб тамом шудаам, ман бо JavaScript тамоман тамом шудаам.
-Ин хуб аст, пас аз чанд сол ҳамаи мо дар Elm ё WebAssembly рамзгузорӣ мекунем.
Ман танҳо ба ақиб бармегардам. Ман наметавонам ин бисёр тағиротҳо ва версияҳо ва нашрҳо ва компиляторҳо ва транспилерҳоро идора карда наметавонам. Ҷамъияти JavaScript девона аст, агар он фикр кунад, ки касе метавонад бо ин амал кунад.
— Мешунавам. Пас шумо бояд ҷомеаи Python-ро санҷед.
Чаро?
- Оё ягон бор дар бораи Python 3 шунидаед?
Навсозӣ: Ташаккур барои нишон додани хатогиҳо ва хатогиҳо, ман мақоларо тавре ки қайд карда шуд, навсозӣ мекунам. Муҳокима дар HackerNews ва Reddit .