25 септември, 2022

Какви са предизвикателствата при разработването на образователна платформа за баварските начални училища? Крие ли React ключ към Светия Граал на програмирането? Защо JavaScript библиотеката е предпочитана за работа и от опитни специалисти, и от абсолютни новаци? Тези и още интересни теми обсъждаме с Виктор Минковски – Technical Lead с 9-годишен стаж в Немечек България и Team Leader на екип Brainix в софтуерната компания.  

На какво се дължи огромното търсене на React специалисти днес?

Това наистина е глобално явление. Наскоро четох, че в настоящия момент софтуерните фирми в САЩ имат отворени позиции за около 100,000 React специалисти. И при всички положения, поне в следващите 3-5 години, търсенето на React няма да намалее.

Популярността може да бъде обяснена по няколко начина. Например – това е JavaScript библиотека, а JavaScript е истинска класика. React е и супер удобен за автоматизиране на тестването, което е страхотно. И ни спестява доста бъгове. Също така, в исторически план React се опитва да разреши един много стар проблем – как да бъде минимизирано времето за разработка и да бъдат преизползвани вече написани, изпробвани и работещи парчета. С други думи, React предлага Светия Граал на програмирането – преизползваем код. А това е нещо, което е нужно на абсолютно всички компании.

Затова ли и с твоя екип се спряхте именно на React?

Платформата Brainix, над която работим вече 2 години, е основана върху идеята за преизползваеми компоненти. Целта ни е да направим open source библиотека, която да предлага на учители набор от компоненти, с който те да изграждат своето учебно съдържание. От самото начало беше ясно, че ReactJS е правилният избор за такова задание.

Като начало разработихме уроци по Математика и Английски за 6 клас за няколко баварски гимназии. Още по-интересното обаче е, че оптимизираме образователно съдържание и за местните Realschule – училища за децата на новопристигнали емигранти и деца със специални образователни потребности. И тъй като тези деца се разсейват по-лесно и по-трудно възприемат уроците, акцентът не е върху графично съдържание, а върху достъпност и привличане на вниманието към по-малкото предоставяна информация.

Платформата е напълно работеща, като започнахме официални бета тестове в четири немски училища. Върви и процес по сертифициране на Brainix като аналог на официален учебник пред баварското министерство на образованието. Това е истински прецедент – за първи път се сертифицира подобен софтуер.

Какви са най-големите предизвикателства в работата по Brainix?

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

Мисля много върху тези аспекти, защото вярвам, че добрият специалист винаги трябва да има предвид бизнес логиката на продукта, над който работи. И е нужно добре да разбира нуждите, които трябва да задоволи.

Има ли нещо, което отличава работещите с React от станалите ИТ специалисти?

За опитни специалисти React е просто поредното нещо, с което се захващат. Едновременно с това, библиотеката предлага някои приятни изненади. На първо място – работи учудващо добре! Сядаш, четеш, интегрираш, пускаш и всичко е точно такова, каквото очакваш.

По-важното обаче е, че React е изключително удобен за хора, които не идват от технологичния бранш, предлагайки им добър вариант за професионално преориентиране. В моя екип например има колега, завършил „Право“. Макар че се занимава с уеб само от 3 години, той вече е абсолютно компетентен React JS UX Developer.

С други думи – неслучайно изтъкват като едно от големите предимства на React това, че бързо можеш да започнеш работа с него?

Така е. Най-вече защото има наистина много материали за React онлайн, което прави ученето лесно. Общо взето, трябва ти добър английски и желание.

Това вероятно се дължи и на факта, че React е open source библиотека?

Определено. Когато става въпрос за документация, например, open source общността е доста, доста напред в сравнение с чисто корпоративните продукти. Това прави JSX React документацията изключително изчерпателна и удобна за работа. Когато толкова много хора работят и резултатът от тяхната работа е видим за всички, е малка вероятността да се сблъскаш с проблем, който вече не е бил решаван. Или поне описан. В нашите проекти правим доста нестандартни неща, но в 99% от случаите вече има база, върху която да стъпим.

Срещат се и мнения, че React е труден за работа, защото базовата големина на файл там е 100kb, както и поради използването на Virtual DOM. Така ли е?

Базовата големина на файла категорично не е проблем. Когато пуснеш приложението в debug mode и си инсталирал една камара компоненти, базовият файл може да е голям. Когато обаче той се подготвя за продукционна среда, файлът се минимизира и архивира.

Смятам, че Virtual DOM е едно много добро решение за рендъринг на потребителския интерфейс. То работи бързо и добре, защото контролът върху промяната на DOM-а не се оставя на разработчиците, а на енджина на React. Минусът е, че човек трябва да знае какво точно се случва, добре да е прочел всичко, за да не се изненада от странни резултати.

Научете повече за Немечек България

Тагове: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,