Новый fullstack JavaScript framework
Добрый день.
Наша команда решила сделать бек-проджект - fullstack JavaScript framework. Я очень хочу обсудить дизайн framework'a. На данный момент доступна первая версия файла readme на русском языке. Код и перевод на английский буду выкладывать в процессе общения. https://github.com/softlabe/core |
И хде?
|
Поправил пост. https://github.com/softlabe/core - велкам
|
|
Смотрели на конкурентов ?
Использовать обработку исключений для логики программы как бы дурной тон, не ? |
Правильной логике обработки исключений можно посвятить целую книгу, и есть разыне практики их применения. Например в JAVA распространен принцип - логика на эксепшенах. Но в .NET - нет, в первую очередь из-за проблем производительности. Но в любом случае - обрабатывать исключения надо.
Тут следует уточнить, что я не призываю писать код на обработке исключений - я за адекватную обработку исключений. То есть я против стиля проверки result-code, как в c++, или переменной error, как в Node.js. Я за использование try-catch :) |
Основная цель моего фреймверка - компиляция синхронного кода в асинхронный. Я уверен, что писать/отлаживать/сопровождать синхронный код гораздо легче и дешевле, чем на калбеках и на deferred-объектах.Это и будет основной киллер-фичей фреймверка
|
На самом деле вы ошибаетесь, легче писать асинхронный код, но только в том случае, если вы привыкли иметь дело с javascript. Синхронный код проще в случае когда вы переходите на javascript с другого языка (C/C++/Java). В этом случае я с вами согласен.
|
Возможно - тут каждому своё. Но когда у вас хотя бы 4 асинхронных метода, а еще асинхронный вызов в цикле и пару условий - это увеличивает объем кода минимум 2,5-3,5 раза. Как следствие - ухудшение читаемости кода, увеличение глупой работы по набору кода, усложнение отладки и прочие проблемы сопровождения кода. А когда такая ситуация встречается постоянно, например при использовании Node.js, то возникают мысль - что что-то тут не так. ИМХО, это основная причина того, что JavaScript не получает такого широкого применения на сервере.
|
Откройте для себя Promise.
Основная причина отсутствия широкого применения javascript на сервере - отсутствие в JS статической типизации, что усложняет код и делает невозможным его статический анализ. Конечно TypeScript несколько исправляет дело, но это на JS |
Часовой пояс GMT +3, время: 22:18. |