Веб-интерфейс
От: sfsoft Россия  
Дата: 21.02.20 14:20
Оценка:
Коллеги, а на чём сейчас принято писать приложения с веб-интерфейсом так, чтобы не умереть в процессе написания?
Или это невозможно и одиночкам только небольшие сайтики на PHP доступно делать?

P.S. Под веб-приложением понимается аналог десктопного с большим функционалом и, конечно же, CRUD.
Re: Веб-интерфейс
От: vsb Казахстан  
Дата: 21.02.20 14:34
Оценка: 1 (1)
Angular vs React.

Angular: в базовую поставку включено всё необходимое, не нужно собирать 100500 библиотек по закоулкам, которые через два года устареют. Легко работать с формами. TypeScript является официальным языком.

React: относительно небольшой размер кода, который будет скачивать пользователь в первый раз. Сама концепция попроще, если знаешь JavaScript, хотя когда к этому прикручиваешь Redux и прочее, всё становится не так однозначно.

Я, лично, за Angular для типового веб-приложения с CRUD.

Ну есть ещё 500 мелких фреймворков и библиотечек. Там у каждого свои тараканы, но лучше оставаться в мейнстриме.
Re[2]: Веб-интерфейс
От: sfsoft Россия  
Дата: 21.02.20 14:39
Оценка:
Angular? Хм. Ему всего 4 года, если верить Вики, а уже 9-я версия вышла. А 8-я месяц назад.
А через пару лет он умрёт. Лично мне жалко своего времени на обучение этому. "Не фефнадцать" уже.

Да и трёхзвенка тут вырисовывается. Бэкенд нужно на чем-то другом рисовать. И делать API. Зоопарк, однако. И одиночке не осилить.
Re[2]: Веб-интерфейс
От: Stanislav V. Zudin Россия  
Дата: 21.02.20 14:41
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Я, лично, за Angular для типового веб-приложения с CRUD.

vsb>Ну есть ещё 500 мелких фреймворков и библиотечек. Там у каждого свои тараканы, но лучше оставаться в мейнстриме.

А что камрады думают про Dart + Flutter?
_____________________
С уважением,
Stanislav V. Zudin
Re[3]: Веб-интерфейс
От: vsb Казахстан  
Дата: 21.02.20 14:46
Оценка:
Здравствуйте, sfsoft, Вы писали:

S>Angular? Хм. Ему всего 4 года, если верить Вики, а уже 9-я версия вышла. А 8-я месяц назад.


Какая разница, как версия называется? Сейчас мода такая, каждые полгода новую версию делать. Если быть педантом, то первая версия вышла 10 лет назад, в 2010 году, но во второй версии они сломали совместимость, поэтому тут спорный вопрос, что считать первой версией.

S>А через пару лет он умрёт.


Маловероятно. В гугле много на него завязано.

S>Лично мне жалко своего времени на обучение этому. "Не фефнадцать" уже.


Ну дело ваше.

S>Да и трёхзвенка тут вырисовывается. Бэкенд нужно на чем-то другом рисовать. И делать API. Зоопарк, однако. И одиночке не осилить.


Не вижу в чём проблема, на том же PHP не должно быть сложностью нарисовать API. Благо, отдавать JSON куда проще, чем отдавать HTML.
Re: vue re: Веб-интерфейс
От: javacoder ОАЭ http://upwork.com/freelancers/~016e5772d90cce5fd1
Дата: 21.02.20 14:46
Оценка:
S>Коллеги, а на чём сейчас принято писать приложения с веб-интерфейсом так, чтобы не умереть в процессе написания?
S>P.S. Под веб-приложением понимается аналог десктопного с большим функционалом и, конечно же, CRUD.

Vue посмотри, что-то между ang и react и скоро 3 версия выходит, там много плюшек и typescript поддержка получше будет.
java шараги -> enterprise галеры, банки -> highload microservices + bigdata/ml
vue.js frontend
Re[3]: Веб-интерфейс
От: vsb Казахстан  
Дата: 21.02.20 14:48
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

vsb>>Я, лично, за Angular для типового веб-приложения с CRUD.

vsb>>Ну есть ещё 500 мелких фреймворков и библиотечек. Там у каждого свои тараканы, но лучше оставаться в мейнстриме.

SVZ>А что камрады думают про Dart + Flutter?


Хз, для меня это пока эксперимент гугла. Сами они вроде на нём ничего не делают. Ходят слухи, что эти технологии лягут в основу следующей операционной системы от гугла на основе фуксии, но понятно, что это только слухи и что там будет, не известно.

Если хочется написать сайт и приложение из одних исходников, может быть и неплохой вариант. Там альтернативы — или React Native, который, по крайней мере раньше, был кривоватый да и React мне не нравится; либо делать приложение во WebView. А чисто для сайта я, лично, не рассматриваю.
Re[4]: Веб-интерфейс
От: sfsoft Россия  
Дата: 21.02.20 14:49
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Не вижу в чём проблема, на том же PHP не должно быть сложностью нарисовать API.


Рука-лицо. Не хочу PHP. Ни в каком виде, несмотря на возможность статической типизации в 7.4.
Это не корпоративный язык, я для пет-поделок. Собственно так он и задумывался.

Про то, что google не кинет. Уверен? Они прямо вот ни разу ни один свой проект не закрывали, несмотря на возмущения пользователей?
Re[3]: Веб-интерфейс
От: Unhandled_Exception Россия  
Дата: 21.02.20 14:50
Оценка:
Здравствуйте, sfsoft, Вы писали:

S>Лично мне жалко своего времени на обучение этому. "Не фефнадцать" уже.


Хватит ныть Я сперва тоже подумал: ё-маё, новый язык (TypeScript). Но что делать, запустил VS Code и вперед. К тому же, сейчас куча ресурсов, туториалов, масса инфы, много вопросов отвечено на stackoverflow. Вспоминаю, как писал под винду на Visual C++ 6.0 без инета, с MSDN на диске (дисках?). Сейчас просто все шустрее стало.
Отредактировано 21.02.2020 14:52 Unhandled_Exception . Предыдущая версия .
Re[2]: vue re: Веб-интерфейс
От: sfsoft Россия  
Дата: 21.02.20 14:52
Оценка:
Здравствуйте, javacoder, Вы писали:

J>Vue посмотри, что-то между ang и react и скоро 3 версия выходит, там много плюшек и typescript поддержка получше будет.


А без java/type script'а ничего не придумано в обществе? Хочу чтобы компилятор отлавливал все мои очепятки и прочее. А не в runtime аппликейшн падал с ошибкой.
Re[3]: Веб-интерфейс
От: okon  
Дата: 21.02.20 14:54
Оценка:
Здравствуйте, sfsoft, Вы писали:

S>Angular? Хм. Ему всего 4 года, если верить Вики, а уже 9-я версия вышла. А 8-я месяц назад.

S>А через пару лет он умрёт. Лично мне жалко своего времени на обучение этому. "Не фефнадцать" уже.

Ничего в этих Angular, React нового нет, все это в том или ином виде делалось раньше самостоятельно просто сделали это в виде библиотек.
Почитай про них и увидишь что учить то по сути и не надо ничего только названия функций. Концепцию к которой ты привык они не меняют.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[5]: Веб-интерфейс
От: vsb Казахстан  
Дата: 21.02.20 14:57
Оценка: +1
Здравствуйте, sfsoft, Вы писали:

S>Рука-лицо. Не хочу PHP. Ни в каком виде, несмотря на возможность статической типизации в 7.4.

S>Это не корпоративный язык, я для пет-поделок. Собственно так он и задумывался.

Ну пиши на любом другом языке. Хочешь — на node.js на TypeScript пиши, если хочется одного языка. Есть такая возможность.

S>Про то, что google не кинет. Уверен? Они прямо вот ни разу ни один свой проект не закрывали, несмотря на возмущения пользователей?


Уверенным ни в чём нельзя быть. Но конкретно в том, что Angular не закроют, я достаточно уверен. Кроме того Angular это просто куча кода на github. Будет опасность — найдутся те, кто форкнут. Закрыть его насовсем невозможно.
Re[4]: Веб-интерфейс
От: Stanislav V. Zudin Россия  
Дата: 21.02.20 15:00
Оценка:
Здравствуйте, vsb, Вы писали:

SVZ>>А что камрады думают про Dart + Flutter?


vsb>Если хочется написать сайт и приложение из одних исходников, может быть и неплохой вариант. Там альтернативы — или React Native, который, по крайней мере раньше, был кривоватый да и React мне не нравится; либо делать приложение во WebView. А чисто для сайта я, лично, не рассматриваю.


У нас как раз мысль зреет замутить серию мобильных приложений (для Яблока и Андроида) + веб для некоторых расчетов.
Насколько это реализуемо из одних исходников — Как минимум придется по-разному реализовывать подписку.

На первый взгляд Дарт выглядит неплохо, но что там в реальности непонятно.
Видимо придется брать человека под эти задачи, вот и думаю, кого искать, с каким опытом.
_____________________
С уважением,
Stanislav V. Zudin
Re[5]: Веб-интерфейс
От: vsb Казахстан  
Дата: 21.02.20 15:20
Оценка: 6 (1)
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>>>А что камрады думают про Dart + Flutter?


vsb>>Если хочется написать сайт и приложение из одних исходников, может быть и неплохой вариант. Там альтернативы — или React Native, который, по крайней мере раньше, был кривоватый да и React мне не нравится; либо делать приложение во WebView. А чисто для сайта я, лично, не рассматриваю.


SVZ>У нас как раз мысль зреет замутить серию мобильных приложений (для Яблока и Андроида) + веб для некоторых расчетов.

SVZ>Насколько это реализуемо из одних исходников — Как минимум придется по-разному реализовывать подписку.

Я использовал React Native для iOS + Android. В принципе всё получилось. Какие-то кусочки писал на Java/Objective C, но этого немного было. Но React Native для мобилки и React для веба это две разные вещи. Часть кода получится сделать общим, но всё, что относится к, непосредственно, выводу разметки будет разным, т.к. React выдаёт HTML, а React Native некий специальный язык разметки, из которого потом фреймворком рисуется интерфейс на родных для платформы элементах.

SVZ>Видимо придется брать человека под эти задачи, вот и думаю, кого искать, с каким опытом.


Однозначно должен быть опыт разработки приложений и на Android и на iOS. Пусть поверхностный, но чудес не бывает и на 100% оградить от платформы никакой фреймворк не сможет.
Отредактировано 21.02.2020 15:22 vsb . Предыдущая версия . Еще …
Отредактировано 21.02.2020 15:22 vsb . Предыдущая версия .
Re[3]: vue re: Веб-интерфейс
От: sharez  
Дата: 21.02.20 15:39
Оценка:
Здравствуйте, sfsoft, Вы писали:

S>А без java/type script'а ничего не придумано в обществе? Хочу чтобы компилятор отлавливал все мои очепятки и прочее. А не в runtime аппликейшн падал с ошибкой.


А что ещё можно придумать на фронтенде, если броузер только JS и понимает?
TypeScript — лучшее, что сейчас есть. Компилятор большую часть проблем отлавливает.
Но это не Java или .NET (но и не голый JS). Чем богаты, тем и рады. Формошлёпы должны страдать. Присоединяйтесь к нам)

На бэке либо Node.js.
Тут welcome to callback hell — я так и не понял, как ловить exception'ы в коллбеках или как вызвать асинхронную функцию внутри синхронной (иногда коллбек в чужом API должен сразу синхронно вернуть результат, а вам надо дернуть URL — и приехали). Удобочитаемость кода вообще на нуле. mysqlQuery(sql, () => { your_code }); А теперь представьте вложенные query.

Либо Java — уже лучше, даже норм, если в отрыве от фронта, но свои "прелести" с невозможностью парсить и создавать free-form JSON, хотя, может, оно и к лучшему.

---

Для себя выбрал TypeScript + React / Java + Spring Boot
А если планируете потом проект передать помощнику, всё же лучше использовать один язык (TypeScript + React / Node + TypeScript + Express).
Но хорошего инструментария для веба по-прежнему нет. Вот нет и всё.
Re[3]: vue re: Веб-интерфейс
От: s_aa Россия  
Дата: 21.02.20 15:39
Оценка:
S>А без java/type script'а ничего не придумано в обществе? Хочу чтобы компилятор отлавливал все мои очепятки и прочее. А не в runtime аппликейшн падал с ошибкой.

Typescript компилятор много чего ловит.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Re[4]: vue re: Веб-интерфейс
От: vsb Казахстан  
Дата: 21.02.20 15:56
Оценка:
Здравствуйте, sharez, Вы писали:

S>Тут welcome to callback hell — я так и не понял, как ловить exception'ы в коллбеках или как вызвать асинхронную функцию внутри синхронной (иногда коллбек в чужом API должен сразу синхронно вернуть результат, а вам надо дернуть URL — и приехали). Удобочитаемость кода вообще на нуле. mysqlQuery(sql, () => { your_code }); А теперь представьте вложенные query.


Советую разобраться с асинхронными функциями. async/await решают все проблемы коллбеков. А асинхронную функцию синхронно нельзя дёрнуть по определению и коллбеки тебе тут никак не помогут. Впрочем это и хорошо, в однопоточном движке блокировать поток не к добру.
Отредактировано 21.02.2020 15:56 vsb . Предыдущая версия .
Re[3]: Веб-интерфейс
От: Grayscaler Россия  
Дата: 21.02.20 17:35
Оценка:
Здравствуйте, sfsoft, Вы писали:

S>Лично мне жалко своего времени на обучение этому. "Не фефнадцать" уже.


Сейчас всё меняется молниеносно. Надо приспосабливаться.
Re[5]: vue re: Веб-интерфейс
От: sharez  
Дата: 21.02.20 17:54
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Здравствуйте, sharez, Вы писали:


S>>Тут welcome to callback hell — я так и не понял, как ловить exception'ы в коллбеках или как вызвать асинхронную функцию внутри синхронной (иногда коллбек в чужом API должен сразу синхронно вернуть результат, а вам надо дернуть URL — и приехали). Удобочитаемость кода вообще на нуле. mysqlQuery(sql, () => { your_code }); А теперь представьте вложенные query.


vsb>Советую разобраться с асинхронными функциями. async/await решают все проблемы коллбеков. А асинхронную функцию синхронно нельзя дёрнуть по определению и коллбеки тебе тут никак не помогут. Впрочем это и хорошо, в однопоточном движке блокировать поток не к добру.


Да там всё можно, но геморрой страшный.

Написать цикл:

for (let i=0; i<10; i++)
mysqlQuery("INSERT ... i ... ");

если mysqlQuery работает асинхронно и даёт коллбек — не так очевидно, как может показаться. Обработка ошибок будет тем ещё квестом (и лапшекод-ревью). С учетом отсутствия Checked Exceptions — потенциально ненадежный код с забытыми проверками.

Кроме того, если это всё внутри функции-коллбека, которая должна немедленно вернуть true/false — то сразу стоп.
Такое возможно во всех языках, где подобные вызовы синхронные, но, кажется, совершенно невозможны в JS/TS.

Спойлер: конкретно для mysqlQuery в NPM есть решение, вызывающее нативный код для синхронных mysql queries, но местами глючит.
Впрочем, деление на асинхронные/синхронные функции там, где они всё же есть, внутри всяких fs-extra, тоже красоты не добавлют (мягко говоря). Я про mkdir(callback)/mkdirSync().
Ах да, половина библиотек используют промайсы, половина — обычные коллбеки, а есть либы, которые их миксуют (!).

Это всё просто крик души
Я жду-недождусь, когда мой кешфлоу будет достаточным для найма программиста на фулл-тайм. В принципе, инструментарий криво-косо позволяет добиться целей (колотить бабло), но удовольствия как программисту это всё не доставляет ни капли. Т. е. постоянно возникает желание заблекбоксить программирование на JS/TS целиком, переместившись на уровень составления алгоритма для человеков-программитстов
Re[4]: vue re: Веб-интерфейс
От: sharez  
Дата: 21.02.20 17:56
Оценка:
Здравствуйте, s_aa, Вы писали:

S>>А без java/type script'а ничего не придумано в обществе? Хочу чтобы компилятор отлавливал все мои очепятки и прочее. А не в runtime аппликейшн падал с ошибкой.


_>Typescript компилятор много чего ловит.


Всё кроме checked exceptions и мест, где неявно заданы типы (и их невозможно вывести в compile-time), или тип явно определен как "any", включая free-form JSON.
Половина кода из NPM в пролёте, увы.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.