Какие выбрать технологии и инструменты для разработки веб-сервиса?
Я в веб-разработке новичок. Хочу создать для себя веб-сервис по учету личных финансов (да, да, таких миллион:)), параллельно изучая веб-программирование.
Идея такая: сервисом можно будет пользоваться в браузере (SPA) и в мобильном приложении (iOS/Android), соответственно все данные хранятся на сервере.
Для создания SPA остановился на Angular 2. А вот для серверной части и по БД вопрос:
1) Сначала хотел сделать на сервере RESTful API на основе Yii2 и хранить все в базе MySQL
2) Теперь рассматриваю Node.js и MongoDB в качестве альтернативы
3) Также вопрос в том как связывать клиент и сервер http (1.1/2) или websocket
Я конечно понимаю, что в целом реализовать можно и так, и эдак, и все это возможно лишь дело вкуса.
Но хотелось бы услышать мнение опытных людей, какие комбинации этих средств более продуктивны с Вашей точки зрения?
Что для ва удобнее и больше нравится. Весь сок в идее и реализации (опустим скорость, красоту и прочие факторы, они так же связаны с реализацией), а какие средства и инструменты вы будете использовать для этой самой реализации, уже дело вкуса. Сейчас, скорее всего, холивар поднимется, все будут настаивать на том, что сами используют
Делайте на том что знаете лучше. На мой взгляд и то и то будет хорошо, если правильно сделать.
Node или php - старая песня. Много споров, кроме гнева и невежества в них ничего нет. И та и та технология по своему хороша. Скорее дело вкуса. У меня аллергия на node, но есть куча людей с теме же симптомами к php.
как связывать клиент и сервер http (1.1/2) или websocket
Я думаю стоит связывать по http и местами websocket где это необходимо.
Но хотелось бы услышать мнение опытных людей, какие комбинации этих средств более продуктивны с Вашей точки зрения?
о и то и то вполне юзабельно, но чтобы сказать что-то более определенное надо знать детали проекта.
если бы одно было несомненно лучше другого, то второго бы очень быстро не стало.
Вы, ИМХО, не с того начинаете... Я бы начал с минимального проектирования архитектуры, потому что на вопрос КАК РЕАЛИЗОВАТЬ? отвечают все описанные вами инструменты и технологии, а вот на вопрос ЧТО РЕАЛИЗОВАТЬ? должны для начала ответить Вы. И вот тогда уже можно выбирать на каком стеке технологий это реализовывать.