logo
Mail
EN

Баланс между най-добрите технологии, срокове и качество.

Разработването на уеб и мобилни приложения звучи доста лесно и в началото не е толкова трудно, но за съжаление това не е истината. Изграждането на нещо наистина добро е много трудно и има толкова много изисквания от съвременната мрежа, които трябва да бъдат покрити, ако се стремите към най-доброто. Основната идея на уебсайт, уеб магазин или мобилно приложение е хората да виждат и купуват от вашия бизнес онлайн. С други думи, един от най-важните аспекти на вашето приложение трябва да бъде видян. Сега оттам започва всичко. Нека да прекъснем малкия разговор и да говорим за Google. Те са безспорният лидер в търсачките и те определят повечето стандарти и летвата. За да ви поставят на по-висока позиция, има някои определени стандарти, които трябва да следвате, за да могат да събират по-лесно това, от което се нуждаят.

    Само за да назовем няколко от тези стандарти

  • Приложението трябва да бъде много бързо.
  • Вашите страници трябва да бъдат достъпни.
  • Упростен мобилен интерфейс.
  • Структурирани данни.

    Това са всички неща, които ще ви отделят от състезанието, но са и трудни за постигане. За да покриете повечето от тях, ще трябва да използвате най-новите и най-добрите технологии и да останете на ръба на развитието. Съществува и фактът, че ако покриете всички тези точки, автоматично покривате очакванията на потребителите си и в комбинация с някои най-добри практики и страхотен потребителски интерфейс / UX ще провеждате кръгове около вашата конкуренция. И говорим за 2020 г., печелите онлайн, печелите навсякъде.

Да се потопим

90% от днешните приложения са написани с интерфейс и API архитектура, което има смисъл за мащабируемост и по-нататъшно развитие. Явният победител във фронта е React JS. Той има най-голямата общност и подкрепа, но не само това, той е бърз, надежден и ви дава възможност да изградите каквото и да било.

Въпреки че е най-великата Front-end технология, React има своите недостатъци. Един от основните в React е, че целият код се изпълнява от страна на клиента, което е много неудобно поради различни причини като SEO и извличания. За да може вашето съдържание да се чете от Google / Facebook / Twitter и други, те имат така наречените роботи, които ще отидат до вашето уеб приложение и ще се опитат да прочетат всичко, което има. Всичко е добре, но роботите нямат браузъри, което в отговор означава, че ако нямате браузър, не мога да изпълня кода, там няма какво да се чете. Това води до това, че вашият уебсайт няма да може да постигне резултат в SEO. Другото следствие е, че приложенията губят производителност, защото когато кодът се изпълнява от страна на клиента, много пъти кодът ще изчака някаква заявка да отиде някъде и да се върне, което ще забави времето за зареждане.

Звучи неприятно и програмисти като мен много се бориха с решаването на този проблем, което доведе до техника, наречена SSR (Server-Side-Rendering). Това решава и двата проблема чрез компилиране на кода от страна на сървъра от NodeJS сървър. Изглежда, че го решихме, но това беше нещо като хак и не структуриран начин за правене на нещата. След това се появи NextJS, който буквално ни спести много усилия и време за изграждане на нещата. Според мен няма по-добър преден край от React JS, сдвоен с NextJS, защото той покрива всички критерии и не забавя развитието.

Сървърът NodeJS не е оптимално решение за обслужване в мрежата, въпреки че има много библиотеки като express и т.н. Не съм им фен по основната причина, че съществува NginX - най-бързият уеб сървър за обслужване на статично съдържание, който включва кешове и много функции, които намирам за много полезни. След като всичко приключи, също така е добра идея да изберете разумно вашия cloud доставчик и да накарате потребителите си да се чувстват комфортно, като предоставите сървъри близо до тях.

Back-end

От гледна точка на нещата ситуацията е много по-различна. Въпреки че има този ясен стандарт за изграждане на API, който е много полезен за мащабиране и изграждане. Но има много езици, на които можете да ги пишете - Java, JS, Python, C ++, Go и така нататък. C ++ и Go са най-бързо работещите езици и най-добри резултати, но имат голям недостатък, който е бавното развитие. Всяка компания, развиваща се в тези езици, ще изисква много хора и много време, за да изгради нещо относително просто. От друга страна, когато вземете нещо като Python, това ще бъде разработено много по-бързо и разликата между производителността не е толкова голяма. Следователно има смисъл да се използва python, особено сдвоен с една от любимите ми рамки - Django Rest Framework. Красотата на Django / DRF е, че той се „залепва“ за вашата база данни и преобразува всяка таблица и заявка в python обекти и функции, което не само помага много за производителността, но и спестява много време и усилия за изграждане на комплекс решения. Да не говорим за голямата общност, библиотеки и поддръжка.

Писането на качествен код не е лесна задача. В TeamYotov проповядваме, че колкото по-малко код пишете и колкото по-четлив и лесен е той, толкова по-добър е той. Това може лесно да бъде потвърдено от тестове за производителност и лекота на сътрудничество между програмисти. Задаването на лентата и грижата за всяко пространство и всяко име на функция и клас играе голяма роля за разработването на чист код.

Заключение

Бих заключил, че създаването на сложни решения изисква много и внимателно обмисляне кое е най-доброто и какви резултати ще ви донесе. Но въпреки това никой не трябва да подценява колко трудно е великото програмиране. Говоря за хората, които пишат WordPress и си мислят, че програмират.

"Може да се обясни много просто, Lamborghini и Lada са и двете коли, но можете да видите разликата."

——Цветомир Йотов

Свързани статии