Hacker News

Нишон додани HN: Vertex.js - Чорчӯбаи 1kloc SPA

Шарҳҳо

1 min read Via lukeb42.github.io

Mewayz Team

Editorial Team

Hacker News
Мана мақола:

Афзоиши чаҳорчӯбаи хурд: Чаро таҳиягарон абзорҳои JavaScript-ро рад мекунанд

Ба наздикӣ як таҳиягар чаҳорчӯбаи як саҳифаи замимаеро, ки дар тақрибан 1000 сатри код сохта шудааст, ба Hacker News нашр кард ва посух барқ буд. Лоиҳа - чаҳорчӯбаи минималистии SPA - мубоҳисаеро, ки дар ҷомеаи таҳияи веб солҳо боз идома дорад, дубора оғоз кард: оё асбобҳои мо барои мушкилоте, ки онҳо ҳал мекунанд, хеле мураккаб шудаанд? Вақте ки китобхонаи асосии React, роутери он, қабати идоракунии давлатӣ ва асбобҳои сохтани он садҳо ҳазор сатри кодро дарбар мегирад, чаҳорчӯба, ки масир, реактивӣ ва ҷузъҳоро дар ҳамагӣ 1000 сатр таъмин мекунад, саволи нороҳаткунандаро ба миён меорад. Барои корхонаҳое, ки замимаҳоеро, ки ба муштариён нигаронида шудаанд, месозанд, ҷавоб ба ин савол оқибатҳои воқеӣ дорад - дар вақти боркунӣ, маҳсулнокии таҳиягарон ва хароҷоти нигоҳдории дарозмуддат.

Чӣ чаҳорчӯбаи 1000-сатрӣ воқеан исбот мекунад

Идеяи микро-чаҳорчӯба нав нест. Backbone.js вақте ки он дар соли 2010 муаррифӣ шуд, тақрибан 1800 сатри рамзи сарчашмаи эзоҳшуда буд. Он чизе ки ҳар як вуруди навро дар ин категория қобили таваҷҷӯҳ мекунад, на худи шумориши сатрҳо, балки он чизест, ки он дар бораи ҳолати кунунии API-ҳои браузер ошкор мекунад. Браузерҳои муосир бо дастгирии модарӣ барои литералҳои шаблон, History API, реактивӣ дар асоси прокси, унсурҳои фармоишӣ ва боркунии модул фиристода мешаванд. Даҳ сол пеш чаҳорчӯбаҳо танҳо барои ба эътидол овардани фарқиятҳо байни Internet Explorer ва Chrome ҳазорҳо сатр лозим буданд. Имрӯз, як таҳиягари бомаҳорат метавонад чаҳорчӯбаи пурраи SPA-ро ҳамчун қабати тунуки оркестрсозӣ дар болои примитивҳои платформа созад.

Ин муҳим аст, зеро он сӯҳбатро аз "кадом чаҳорчӯба бояд интихоб кунем?" ки «оё ба мо умуман чорчуба лозим аст?». Барои лоиҳаҳои хурд то миёна - саҳифаи кушода бо бахшҳои динамикӣ, панели дохилӣ, портали муштарӣ - ҷавоб торафт бештар мешавад: шояд не, ё ҳадди аққал вазнин нест. Чаҳорчӯбаи 1,000 сатр далели он аст, ки платформа то дараҷае ба камол расидааст, ки кори чаҳорчӯба коҳиш меёбад.

Албатта, чаҳорчӯбаҳо ба монанди React ва Vue то ҳол вазни худро дар замимаҳои калонҳаҷм бо дарахтони мураккаби давлатӣ, эҳтиёҷоти коркарди сервер ва гурӯҳҳои 20+ таҳиягарон, ки аз конвенсияҳои сахт баҳра мебаранд, ба даст меоранд. Фаҳмиши асосӣ ин аст, ки асбоби дуруст комилан аз доираи мушкилот вобаста аст.

Арзиши воқеии JavaScript Bloat

Тадқиқоти худи Google пайваста нишон дод, ки ҳар 100 миллисония вақти изофашуда метавонад суръати табдилро то 7% кам кунад. Веб саҳифаи медианӣ ҳоло беш аз 500 КБ JavaScript-ро интиқол медиҳад - ин рақам аз соли 2015 тақрибан се маротиба афзоиш ёфтааст. Барои соҳибкорон ин нишондиҳандаи абстрактӣ нест. Он мустақиман ба даромади аз даст рафта, суръати баландтари бозгашт ва рейтингҳои бадтари муҳаррики ҷустуҷӯ табдил меёбад.

Мушкилот дар шабакаҳои мобилӣ мураккабтар шудааст. Корбаре, ки дар дастгоҳи Android-и миёнаҳаҷм, ки тавассути 3G пайваст мешавад, метавонад 5-8 сония интизор шавад, то саҳифаи дорои JavaScript-и вазнин интерактив шавад, ҳатто пас аз он ки HTML-и аввалия намоиш дода шавад. Ин махсусан барои корхонаҳое, ки ба муштариён дар бозорҳои рӯ ба тараққӣ хидмат мерасонанд, муҷозот мекунад, ки дар он ҷо дидани аввалини мобилӣ маъмул аст ва инфрасохтори шабакавӣ ба таври назаррас фарқ мекунад.

  • Вақти таҳлил: Бастаҳои калони JavaScript, ҳатто пеш аз иҷро шудани як сатри рамзи барнома, таҳлил ва тартиб додани онҳо вақти зиёдтарро талаб мекунанд
  • Фишори хотира: Ҷисмҳои дохилии чаҳорчӯбаи мураккаб хотираеро истеъмол мекунанд, ки онро худи барнома истифода бурда метавонад
  • Хастагии навсозӣ: Такмилдиҳии асосии чаҳорчӯба (Анҷумани 1 то 2, Vue 2 то 3, Ҷузъҳои синфи реаксия ба қалмоқҳо) кӯшишҳои гаронбаҳои муҳоҷиратро ҳар 2-3 сол маҷбур мекунанд
  • Занҷирҳои вобастагӣ: Папкаи маъмулии лоиҳаи React node_modules дорои 800-1200 бастаҳо мебошад, ки ҳар яки онҳо осебпазирии эҳтимолии амният ё тағироти вайронкунанда мебошанд
  • Мушкилии эҷод: Webpack, Babel, PostCSS ва файлҳои конфигуратсияи онҳо аксар вақт аз коди барномае, ки онҳо хидмат мекунанд, зиёданд

Чорчӯбаҳои хурд аксари ин хароҷотро пушти сар мекунанд. Бо камтар абстраксияҳо, камтар чизҳои шикастан, вобастагии камтар барои аудит ва байтҳои камтар барои интиқол ба браузер вуҷуд доранд. Барои тиҷорате, ки ба ҳузури зуд ва боэътимоди интернет ниёз дорад, бидуни дастаи инфрасохтори махсуси фронталӣ, математика бештар соддаиро дӯст медорад.

Чаро Ҷамъияти таҳиягарон тақсим шудааст

Муҳокимаи Hacker News дар атрофи чаҳорчӯбаҳои хурди SPA ду лагери муқобилро боэътимод тавлид мекунад. Аз як тараф таҳиягароне ҳастанд, ки солҳо дар пойгоҳҳои бузурги коди дар React ё Angular сохташуда сарф кардаанд ва бо мурури замон чӣ гуна мураккабии чаҳорчӯбаро дидаанд. Онҳо хусусиятҳои оддии пуфакро ба вазифаҳои чандрӯза тамошо карданд, зеро конвенсияҳои чаҳорчӯба ламс кардани конфигуратсияи роутер, таблиғи идоракунии давлатӣ ва асбобҳои санҷиширо талаб мекунанд, ки сохторҳои дохилии чаҳорчӯбаро масхара мекунанд. Барои ин таҳиягарон чаҳорчӯбаи 1000 сатр озодшавиро ифода мекунад — бозгашт ба фаҳмидани ҳар як сатри код, ки дар замимаи онҳо кор мекунад.

Дар тарафи дигар прагматистҳо ҳастанд, ки чаҳорчӯба вуҷуд доранд, зеро барномаҳои ҷаҳонии воқеӣ дар ниҳоят ба он чизҳое ниёз доранд, ки онҳо таъмин мекунанд: утилитаҳои дастрасӣ, байналмиллалӣ, тақсимоти код, расониши сервер ва лӯлаи киро кардани таҳиягарон, ки аллакай ин асбобро медонанд. Микро-чаҳорчӯба барои лоиҳаи рӯзҳои истироҳат метавонад ҷолиб бошад, онҳо баҳс мекунанд, аммо кӯшиш кунед, ки як гурӯҳи панҷнафара ба пойгоҳи коди 1000-хати фармоишӣ бидуни ҷавобҳои Stack Overflow ва ҳуҷҷатҳои расмӣ ҳамроҳ шавед.

Ҳарду ҷониб нуктаҳои дуруст доранд ва ҳақиқат ин аст, ки интихоб контекстӣ аст. Муассиси яккасарона MVP-ро месозад, нисбат ба дастаи корхонае, ки барномаи панҷсоларо нигоҳ медорад, ниёзҳои куллан фарқ мекунад. Хавф дар он аст, ки роҳҳои ҳалли корхона барои мушкилоти оғозёбӣ ё абзорҳои оғозёбӣ ба мушкилоти корхона.

Дар воқеан ба тиҷорати муосир аз стеки техникии худ ба чӣ ниёз доранд

Баҳси чаҳорчӯба дар ниҳоят як прокси як саволи бузургтар аст: чӣ гуна корхонаҳо бояд захираҳои техникии маҳдуди худро тақсим кунанд? Ҳар соате, ки як таҳиягар барои конфигуратсияи лӯлаи сохтан ё муҳоҷират ба версияи нави чаҳорчӯба сарф мекунад, як соатест, ки барои сохтани хусусиятҳои барои муштариён хидматрасонӣ сарф нашудааст. Барои бисёре аз корхонаҳо, бахусус амалиёти хурд ва миёна, интихоби беҳтарини технологӣ яке аз он аст, ки фосилаи байни "Ман идея дорам" ва "муштариён аз он истифода мебаранд" ба ҳадди ақалл кам мекунад.

Беҳтарин қарори технологӣ, ки тиҷорати афзоянда метавонад қабул кунад, ин интихоби абзорҳое мебошад, ки мушкилоти имрӯзаро бидуни эҷоди бори нигоҳубини фардо ҳал мекунанд. Новобаста аз он ки ин маънои чаҳорчӯбаи 1,000-сатрӣ ё платформаи комилан идорашавандаро дорад, ҳадаф як аст: вақти худро ба он чизе сарф кунед, ки тиҷорати шуморо беназир мегардонад, на ба инфрасохторе, ки ҳар як бизнес ниёз дорад.

Ин принсип фаротар аз чаҳорчӯбаҳои фронталӣ аст. Соҳибкорон мунтазам як системаҳои пуштибониро аз нав барқарор мекунанд - аутентификатсияи корбар, коркарди пардохт, CRM, ҳисобнома-фактура, банақшагирӣ - зеро стеки техникии интихобкардаи онҳо инро талаб мекунад. Платформаҳо ба монанди Mewayz маҳз барои бартараф кардани ин кори такроршаванда мавҷуданд, ки 207 модули пешакӣ сохташударо пешниҳод мекунанд, ки ҳама чизро аз CRM ва музди меҳнат то системаҳои бронкунӣ ва таҳлилро дар бар мегиранд. Худи ҳамон фалсафае, ки таҳиягаронро ба сӯи чаҳорчӯбаҳои хурд равона мекунад — бо камтар кор кунед, мураккабии нолозимро аз байн баред — корхонаҳоро ба сӯи платформаҳои муттаҳидшуда, ки даҳҳо обунаҳои SaaS-ро бо як системаи ягона иваз мекунанд, мебарад.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Спектри чаҳорчӯба: Ҷустуҷӯи ҷои ширини шумо

Ба ҷои баррасии интихоби чаҳорчӯба ҳамчун бинарӣ - мега чаҳорчӯба ё микро чаҳорчӯба - он кӯмак мекунад, ки аз рӯи спектр фикр кунед. Дар як тараф, шумо JavaScript-и ванилӣ бо абстраксияҳои сифр доред. Дар тарафи дигар, шумо мета-чаҳорчӯбаҳои пурраи стек ба монанди Next.js ё Nuxt доред, ки масир, намоиш, қабули маълумот ва густаришро идора мекунанд. Аксарияти лоиҳаҳо ба ҷое дар миёна тааллуқ доранд.

Барои сайти маркетингие, ки ба мизоҷон нигаронида шудааст, бо чанд унсури интерактивӣ, микро-чаҳорчӯба ё ҳатто реактивии дохилии сабки Alpine.js метавонад мувофиқи комил бошад. Барои панели мураккаби SaaS бо маълумоти воқеии вақт, иҷозатҳои ба нақш асосёфта ва дастгирии офлайнӣ, чаҳорчӯбаи баркамол бо экосистемаи бой арзиши изофӣ дорад. Хатогӣ дар он аст, ки варианти вазнинтаринро пешфарз кардан мумкин аст, зеро он маъмултарин аст ё сабуктарин интихоб карда мешавад, зеро он аз ҷиҳати зеҳнӣ қаноатбахш аст.

Санҷиши амалӣ оддӣ аст: ҳар як хусусиятеро, ки ба аризаатон дар давоми 12 моҳи оянда лозим аст, номбар кунед. Агар чаҳорчӯбаи хурд 90% ин эҳтиёҷотро пӯшонад ва шумо метавонед 10% -и боқимондаро дар муддати камтар аз он ки барои танзими чаҳорчӯбаи калонтар сарф мекунед, дастӣ печонед, микрочаҳорчӯба пирӯз мешавад. Агар рӯйхати хусусиятҳои шумо намоиши тарафи сервер, тасдиқи мураккаби шакл, оркестрсозии аниматсия ва дастгирии амиқи дастрасиро дар бар гирад, чаҳорчӯбаи калонтар эҳтимол барои худ пардохт мекунад.

Дарсҳо барои муассисон ва соҳибкорони ғайритехникӣ

Агар шумо тиҷорате дошта бошед ва дастаи техникии шумо дар бораи чаҳорчӯба мубоҳиса кунад, дар ин ҷо чизи муҳим аст. Аввалан, дар бораи вақти ба даст овардани хусусияти аввал пурсед - як таҳиягари нав дар гурӯҳ то чӣ андоза метавонад тағироти назаррасро интиқол диҳад? Агар ҷавоб рӯзҳои танзими муҳити зист ва омӯзиши чаҳорчӯбаро дар бар гирад, новобаста аз он ки кадом чаҳорчӯба интихоб шудааст, ин аломати огоҳкунанда аст. Дуюм, дар бораи роҳи навсозӣ пурсед. Чаҳорчӯбаҳое, ки ҳар 18 моҳ тағйироти қатъиро нашр мекунанд, андози пинҳониро ҷорӣ мекунанд, ки дар арзёбии аввалия хеле кам пайдо мешаванд.

Сеюм, ва муҳимтар аз ҳама, савол диҳед, ки оё ба шумо умуман барои функсияи мавриди назар нармафзори фармоишӣ лозим аст. Бисёре аз корхонаҳо моҳҳои вақти таҳиягаронро барои сохтани асбобҳои дохилӣ - панелҳои идоракунӣ, системаҳои CRM, ҷараёни ҳисоббаробаркунӣ, банақшагирии интерфейсҳо сарф мекунанд, ки аллакай ҳамчун маҳсулоти тозашуда ва нигоҳдорӣ мавҷуданд. Платформае ба монанди Mewayz, ки ба зиёда аз 138,000 корбарон бо модулҳои дорои доираи пурраи амалиёти тиҷорӣ хизмат мерасонад, метавонад эҳтиёҷоти таҳияи фармоиширо барои вазифаҳои стандартии тиҷорат комилан аз байн барад. Ин ба дастаи таҳияи шумо озод мекунад, то ба ҷанбаҳои воқеан беназири маҳсулоти шумо тамаркуз кунад — хусусиятҳое, ки ҳеҷ як абзори рафънопазир таъмин карда наметавонад.

<ол>
  • Рамзи фармоишии худро тафтиш кунед: Муайян кунед, ки кадом асбобҳои дохилӣ функсияҳои такрории платформаҳои мавҷударо доранд
  • Арзиши ҳақиқиро ҳисоб кунед: Омили на танҳо таҳияи аввалия, балки нигоҳдории ҷорӣ, часбҳои амниятӣ ва дархостҳои хусусият
  • Муттаҳидшавиро арзёбӣ кунед: Обунаҳои ҷории худро ба SaaS ҳисоб кунед ва арзишро бо платформаи ҳамгирошуда муқоиса кунед
  • Тафовутгариҳои худро ҳифз кунед: Захираҳои таҳияи фармоиширо барои хусусиятҳое захира кунед, ки тиҷорати шуморо воқеан аз ҳам ҷудо мекунанд
  • Оянда ба интихоби қасдан тааллуқ дорад

    Ҳаяҷон дар атрофи чаҳорчӯбаи 1,000-хати SPA аслан дар бораи худи чаҳорчӯба нест. Ин дар бораи ҳаракати афзоянда дар таҳияи нармафзор ба сӯи қасд - интихоби асбобҳо барои он аст, ки онҳо ба мушкилот мувофиқат мекунанд, на аз он ки онҳо дар бозор бартарӣ доранд. Экосистемаи JavaScript даҳсолаи охирро дар мусобиқаи силоҳи хусусиятҳо ва абстраксияҳо сарф кардааст. Ҳаракати муқобил, ки бо чаҳорчӯбаҳои хурд, HTML-и аз сервер таъминшуда ва API-ҳои аслии платформа муаррифӣ мешавад, ислоҳи прагматизм аст.

    Барои тиҷорат, ин гузариш ба таври дақиқ мусбат аст. Ин маънои имконоти бештар, хароҷоти пасти гузариш ва фарҳанги таҳиягарро дорад, ки содда ва суръатро бештар аз мукаммалии назариявӣ қадр мекунад. Новобаста аз он ки шумо як соҳибкори инфиродӣ ҳастед, ки байни WordPress ва сайти фармоишӣ интихоб мекунад ё CTO, ки барои сохтани асбоби дохилии навбатии худ арзёбӣ мекунад, ҳамон принсип амал мекунад: беҳтарин технология технологияест, ки дар замина нопадид мешавад ва ба шумо имкон медиҳад, ки диққати худро ба хидматрасонии муштариёнатон равона кунед.

    Чорчӯбаи 1000 сатр ба мо хотиррасон мекунад, ки қувваи барқ мураккабиро талаб намекунад. Тиҷоратҳои муассиртарин ва абзорҳои муассиртарин ҳамонҳоянд, ки маҳз он чизеро, ки лозим аст, иҷро мекунанд ва ҳеҷ чизи бештаре надоранд.

    Тиҷорати худро бо Mewayz такмил диҳед

    Mewayz 207 модули тиҷоратиро ба як платформа меорад — CRM, ҳисобноманависӣ, идоракунии лоиҳа ва ғайра. Ба 138,000+ корбароне ҳамроҳ шавед, ки ҷараёни кори худро содда кардаанд.

    Имрӯз ройгон оғоз кунед →a>

    Саволҳои зуд-зуд додашаванда

    Чӣ чаҳорчӯбаи хурд ба монанди Vertex.js аст?

    Чорчӯбаи хурд як китобхонаи минималистии JavaScript мебошад, ки барои иҷрои вазифаҳои асосии барномавӣ бидуни миқдори зиёди ҳалли калонтар пешбинӣ шудааст. Vertex.js ба ин тавассути таъмини функсияҳои муҳими SPA, ба монанди масир ва идоракунии давлатӣ дар тақрибан 1000 сатри код ноил мешавад. Ин бо чаҳорчӯбаҳое фарқ мекунад, ки барои масир ё ҳолат китобхонаҳои алоҳида ва вазнинтарро талаб мекунанд ва мураккабии умумӣ ва варамро барои лоиҳаҳои хурдтар коҳиш медиҳанд.

    Чаро таҳиягарон ба сӯи абзорҳои соддатар ҳаракат мекунанд?

    Бисёре аз таҳиягарон чунин мешуморанд, ки асбобҳои муосири JavaScript барои лоиҳаи миёна аз ҳад зиёд мураккаб шудаанд. Чаҳорчӯбаҳои вазнин метавонанд вақтҳои сусти сохтмон, хатти омӯзиши шадид ва хусусиятҳои нолозимро ҷорӣ кунанд. Асбобҳои соддатаре ба мисли Vertex.js таҷрибаи тезтар ва фаҳмотареро пешкаш мекунанд, ки тавассути тамаркуз ба мушкилоти муҳиме, ки чаҳорчӯба бояд ҳал кунад ва ба талаботи воқеии лоиҳа мувофиқат кунад.

    Оё Vertex.js барои барномаи калон ва мураккаб мувофиқ аст?

    Vertex.js асосан барои лоиҳаҳои хурдтар тарҳрезӣ шудааст, ки дар онҳо соддагӣ ва хароҷоти кам муҳим аст. Барои барномаҳои хеле калон ва мураккаб бо бисёр ҷузъҳои интерактивӣ, чаҳорчӯбаи дорои хусусияти бойтар бо экосистемаи васеъ метавонад мувофиқтар бошад. Барои дастаҳое, ки ба модулҳои густурдаи қаблан сохташуда ниёз доранд, хидмате ба монанди Mewayz (207 модулро ба маблағи $19/моҳа пешниҳод мекунад) метавонад UI ва ҷузъҳои функсионалии заруриро, ки дар чаҳорчӯбаи хурд мавҷуд нестанд, таъмин кунад.

    Оё ба ман то ҳол асбоби сохтан бо Vertex.js лозим аст?

    Гарчанде ки худи Vertex.js сабук аст, шумо эҳтимол то ҳол як абзори созандаро барои рушди касбӣ истифода хоҳед бурд. Асбобҳо ба монанди Vite ё Parcel барои бастани рамзи шумо, коркарди вобастагии npm ва фаъол кардани хусусиятҳои муосири JavaScript заруранд. Бо вуҷуди ин, силсилаи асбобҳои умумӣ нисбат ба онҳое, ки барои чаҳорчӯбаҳои калонтар талаб мекунанд, соддатар боқӣ мемонад, зеро шумо аз китобхонаҳои мураккаби идоракунии давлатӣ ва масир канорагирӣ мекунед.

    Start managing your business smarter today

    Join 30,000+ businesses. Free forever plan · No credit card required.

    Ready to put this into practice?

    Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

    Start Free Trial →

    Ready to take action?

    Start your free Mewayz trial today

    All-in-one business platform. No credit card required.

    Start Free →

    14-day free trial · No credit card · Cancel anytime