Как показали прошедшие годы, все можно сделать (или можно было бы сделать) самостоятельно, лучше, и не таких уж огромных ресурсов это требует.
Поэтому сейчас мы не боимся ни сложности задач, ни объемов работ. Как говорится: дорогу осилит идущий.
JS vs TypeScript vs Flow
Прелесть JS в слабой типизации. Обратите внимание на свойство enabled:
topScores: { id: 10050, caption: 'Top scores...', keyValue: 'F9', enabled: () => this.props.gameStage === gameStageEnum.ready, checked: false, exec: () => { const { dispatch } = this.props dispatch(showTS()) } }, nextPiece: { id: 20010, caption: 'Next piece', keyValue: 'F3', enabled: true, checked: () => this.props.nextPiece, exec: () => { const { dispatch } = this.props dispatch(nextPiece()) } },Для быстрого прототипирования бесценное качество. Но, попытку изменить что-то в существующем коде отсутствие строгих типов способно превратить в ад из миллиона сложно выявимых ошибок, которые будут проявляться только в момент выполнения и только в определенных обстоятельствах. Как правило, в разгар ключевой презентации у важного клиента.
Строгая типизация -- это не только ловля блох в момент компиляции, но и серьезная подмога в командной работе, когда один разработчик пытается понять код, написанный другим.
TypeScript это не только контроль типов, но и более-менее приближенная к знакомой всем парадигме реализация ООП.
Winner: TypeScript
Технологический стек
TypeScript -- язык программирования.Node + Express -- сервер.
Firebird 3 -- база данных. Будем так же смотреть на применимость MongoDB к части наших задач.
React/Redux -- фронтальная часть.
UI стили и компоненты -- выберем позже.
Начальные проекты
ng-back -- создан на основе шаблона TypeScript Node Starter. Требует запущенного сервера MongoDB (устанавливается отдельно).ng-front -- создан на основе шаблона Create React App c опцией для TypeSript. Подробности по использованию React/Redux вместе с TypeScript собраны тут.
ng-lingva -- запросы к данным на естественном языке.
ng-scratch -- визуальное проектирование/кодирование алгоритмов.
PS: ng stands for Next Gedemin or New Gedemin.
10 комментариев:
UniGUI в помощь ;)
Сколько таких библиотек было и сколько еще будет... Мы не хотим тянуть десктопный интерфейс ни в браузер, ни тем более в мобильные девайсы. Это разные среды, требующиеразных подходов.
Эмба (уже Идера) купила сенчу (Sencha), будет делать свой веб-фреймврок на связке с сенчей, либо купит Унигуй.
Библиотек было много. Но это первая хорошая (можно сказать - отличная).
В ней разделены компоненты под десктоп и под мобильные девайсы. Переключается автоматически. Гуй переносится быстро и просто. Миллионно-сточное приложение + 50 форм перенеслось с вин-гуя на унингуй за, примерно, месяц. Еще месяц тестирования, и уже готовим софт к продажам.
Ну а хочется по....ся - дело ваше, конечно :)
За Борланд меня агитировать не надо. Я с Turbo Pascal 4.0 начинал еще. Но, кроме гениальных решений у них были и откровенные провалы: Delphi6 + CLX, который так и не начал компилировать под Linux, но на много лет заморозил развитие VCL, Delphi 8 + .NET, который был мертворожденным изначально, но полностью испортил IDE (потребовалось выпустить три версии, чтобы как-то разгрестись и привести все к удобоваримому виду), компилятор 64 бит, выпущенный 20 лет спустя, после того как вышел первый 64-битный процессор, библиотека Firemonkey, которая так и не стала вменяемой кросс-платформенной библиотекой интерфейсов и т.п. Не будем вспоминать компилятор, который местами генерирует код байт-в-байт как в 1998 году. И список можно продолжать и продолжать. Что выйдет в этот раз -- посмотрим. Меня сейчас больше устраивает скорость развития вокруг JavaScript -- изменения в языке, новые библиотеки, инструменты, сообщество. Но, это наш путь, единственно ли он правильный и правильный ли вообще -- поживем увидим.
Намного приятнее сердцу фреймворки сменяющиеся по два раза в год. Редко совместимые вверх по api. Даже в пределах одного 'семейства'.
Удачи, в общем :)
IDERA купила Sencha потому что последняя стала стоить дешево. IDERA это не разработочная компания, а инвестиционная. Их политика проста -- купить, снизить стоимость по максимум за счет аутсорса в дешевые регионы всего и вся и выкачать максимум денег из существующей клиентской базы. Sencha -- это таже Делфи, только в своей нише. Прекрасный продукт, но, скажем, 5 лет назад. После этого они устарели и отстали от мэйнстримного направления. и догнать им будет не просто. слишком много надо переписывать полностью. uniGUI это обертка вокруг компонент Sencha для использования с Delphi. Кстати, что там по цене? Delphi + uniGUI + Sencha. Для нормальной разработки все надо с исходниками. Цена такого комплекта 6-8 тыс. USD на одного разработчика. И сюда надо еще какую нибудь СУБД докинуть. С таким ценником никакого широкого продвижения и развития не будет.
1. Идера купила сенчу потому, что увидела нишу для развития своих продуктов.
2. "IDERA это не разработочная компания". Покупка-продажа целых компаний - это обычная практика на западе. С таким же успехом можно и Microsoft не компанией-разработчкиком назвать.
3. Мы, например, довольно активно аутсорс используем. Бывает весьма удобно.
4. "Прекрасный продукт, но, скажем, 5 лет назад.". Интересно, в каком месте они отстали? Для того, что бы сделать графический интерфейс к ПО их возможностей хватает с головой. К слову - в Ангуляре визуальных компонент нет вообще, насколько я понимаю. Придётся либо с нуля весь слой компонент делать (хотя бы те же гриды), либо искать что-то готовое. Унигуй же даст кроме собственно сенчи больше сотни готовых компонент для десктопа (отличные и довольно продвинутые гриды, к слову) + штук 50 под мобильные.
5. "Цена такого комплекта 6-8 тыс. USD на одного разработчика.". Странные какие-то цифры. $1500 Delphi + $900 Унигуй + Сенча. Унигуй - компоненты с исходниками, правда - их нельзя раздавать. Делфи будет более открытый.
6. "И сюда надо еще какую нибудь СУБД докинуть." Ну вы же в любом случае будете что-то использовать. Тот же FB совершенно бесплатный, Postgre тоже. Мы у себя как раз обе указанные базы используем.
За эти же деньги, к слову, вы получаете год бесплатной поддержки со стороны унигуя. Поддержка работает довольно хорошо. Оперативно всё правят и помогают на форуме.
Также заметный плюс - JS разработчики в команде вам либо не нужны вообще, либо нужны ограниченно, на этом можно заметно сэкономить. Разрабы тоже как бы платные. И, по своему опыту, более дорогие, чем инструменты.
Всё делается на стороне Делфи, фронт + бэк связаны в пределах одной среды, разрабатывать очень удобно - отладка, тесты.
Проект можно собирать в трёх 'ипостасях' - Standalone, Service, ISAPI переключением одного дефайна.
Порт вингуевого софта на веб делается быстро и просто.
serbod: У вас основная область применения - это автономные настольные системы и торговое оборудование. Там от веба больше проблем, чем пользы. Вам проще прикрутить веб как "TForm без кода", чем делать новый бекэнд.
Но если хотите делать чисто онлайновые "облачные" сервисы в больших датацентрах, без подключения пользовательского железа - тогда некоторый смысл есть. Но опять же, современные технологии виртуализации и контейнеров позволяют держать на одной физическом сервере десятки и сотни независимых экземпляров ОС и приложения, на любой платформе. Вместо одной большой системы на сотни изолированных пользователей можно запустить сотню изолированных систем на одного пользователя.
Отправить комментарий