Привет, меня зовут Сельчук, я соло-разработчик и соучредитель Unitz.

В предыдущем посте я упомянул термин: дилемма разработчика. Конечно, официально такого нет; Я так ситуацию называю. Если вы хотите сосредоточиться на продукте; однако, если вы сосредоточены в основном на коде и архитектуре, добро пожаловать в дилемму разработчика :)

Пока я кодил Unitz и проекты последние 1,5 года, я попал в такую ​​ситуацию. Это совсем неплохо, но я создал проект спустя 1,5 года, а не 3 месяца, такая пустая трата времени. В конце концов, я близок к желаемой архитектуре и кодовой базе, но помните, что кодирование — это процесс; она никогда не заканчивается в течение срока службы вашего продукта. Сейчас я постараюсь рассказать вам, что я сделал за последние 1,5 года.

Начало…

Я пришел к идее Unitz, основываясь на своем предыдущем опыте, как я упоминал в предыдущих постах. Я решил использовать Node.js и Mongodb для серверной части, и меня это устроило. Я не был уверен в интерфейсе. По сути, это будет приложение, а не обычный веб-сайт. Я думал об использовании Angular, потому что его объектно-ориентированная архитектура мне понятна. React был вариантом, но я его не пробовал, только просмотрел документацию. Это выглядело плохо: что я пишу — Javascript, HTML, XML, wtf?

Я читал книгу об Angular, но чувствовал, что с Angular что-то не так. У него была высокая кривая обучения. Раньше я использовал Backbone-Marionette, но это уже не вариант. В конце концов я решил пойти классическим путем и визуализировать HTML с помощью Nunjucks :)

Я начал с Nunjucks, и в первый раз все было нормально. Тем не менее, это не дает ощущения приложения. Однажды вечером я попробовал пример React Native, демонстрацию библиотеки пользовательского интерфейса Shoutem. Я начал играть с React и начал понимать его идею. Я просветился :)

Давайте «Отреагируем»!

Я решил изменить слой просмотра с помощью React. Преобразовать представления Nunjucks в приложение React было не очень просто. Однако я успел. Я узнал о React, но также сделал несколько ошибок с React. Я перехожу к семантическому интерфейсу React. Сделал 4 больших рефакторинга кодовой базы. Проекты Unitz имеют одинаковую структуру пользовательского интерфейса, поэтому я преобразовал большинство частей для работы с HOC. Семантического пользовательского интерфейса было недостаточно. Мне не нравится его система сетки, а также я даже не могу использовать эффекты компонентов, потому что они не могут реализовать эффекты. Затем я открыл для себя Ant Design. В нем много компонентов, система сетки, похожая на Bootstrap, и он хорошо выглядит. Еще один рефакторинговый марафон, и сегодня система работает с Ant Design.

Видите ли, только слой просмотра обходится мне как минимум в 8–9 месяцев. Это была моя самая большая ошибка. Хотел бы я попробовать возможные альтернативы пользовательского интерфейса перед началом проекта.

Я буду продолжать писать о Unitz и его продуктах. Пожалуйста, не стесняйтесь оставлять комментарии и отзывы.