Какой стек технологий посоветуете новичку при указанных условиях?
Здравствуйте!
Вопрос в выборе технологий для новичка.
Я человек творческий и у меня есть идеи проектов. Сейчас появилось время для изучения языка.
В целом я хотел бы программировать для себя. Я не планирую работать в каких-либо компаниях и не строю наполеоновских планов. Html/css я знаю, знаком с jQuery, неплохой дизайнер.
Помогите выбрать стек технологий для того чтобы я мог самостоятельно писать полноценные сервисы и при этом:
- чтобы мне сложнее (из-за особенности ЯП или Фреймворка) было говнокодить, а именно,
чтобы эти технологии давали лучший результат производительности, простоты и грамотности кода и безопасности при том условии, что ими орудует не эксперт а новичок (это очень важное условие, обратите внимание), так как новичком я буду ближайшие 3 года точно.
- чтобы в будущем посторонним специалистам было легче помочь мне масштабировать мой проект, улучшить его и вывести на новый уровень, чтобы меньше геморроя было короче;
- чтобы я как можно раньше мог уже начать делать свои проекты;
Если коротко описать функционал моих проектов, то это веб сайты и все они предусматривают:
базу данных, админку с возможностью заносить данные в базу и управлением пользователями, аналитические инструменты по действиям пользователей, динамическое обновление контента, системы чатов или микросообщений, профили пользователей, регистрация и авторизация, хранение и кэширование медиаконтента, геолокация.
А также будут нужны мобильные приложения под разные ОС с более упрощенным функционалом сообщающиеся с главным сервером данных сайта.
Я лично присматриваюсь к javascript, так как с помощью него можно делать и бэкенд и фронтенд, получается экономия времени на изучении. Только для бэкенда придется изучить фреймворки, и боюсь, что изучение этих фреймворков, и написание бэкенда на них сложнее чем например изучение и написание на php.
Наверно весь этот текст можно резюмировать следующим образом:
1) Если я хочу писать и бэкенд и фронтенд, будет ли целесообразно изучать javascript и фреймворки (node.js например) на нем, или экономичнее и быстрее будет изучить php/python для бекенда + все равно учить javascript/jQuery для фронта?
2) Что вы сами посоветовали бы?
Я лично присматриваюсь к javascript, так как с помощью него можно делать и бэкенд и фронтенд, получается экономия времени на изучении. Только для бэкенда придется изучить фреймворки, и боюсь, что изучение этих фреймворков, и написание бэкенда на них сложнее чем например изучение и написание на php.
С точки зрения изучения языка - однозначно лучше один чем два. Тем более новичку.
С точки зрения изучения фреймворков - их придется учить по любому, так как просто знать язык мало, какой учить - php/node - мало разницы. Знать как вообще работает браузер, http, запросы, куки, авторизация, базы, днс и прочее прочее - не зависит от языка/фреймворка.
С изучением JS только одна проблема - обязательно найдется кучка хейтеров которые будут говорить "фу говно".
В остальном - это лучший выбор.
Если коротко описать функционал моих проектов, то это веб сайты и все они предусматривают:
базу данных, админку с возможностью заносить данные в базу и управлением пользователями, аналитические инструменты по действиям пользователей, динамическое обновление контента, системы чатов или микросообщений, профили пользователей, регистрация и авторизация, хранение и кэширование медиаконтента, геолокация
Звучит как описание сайта который можно сделать на каком-нибудь вордпрессе, без сильного погружения в девелопмент.
Если коротко описать функционал моих проектов, то это веб сайты и все они предусматривают:
базу данных, админку с возможностью заносить данные в базу и управлением пользователями, аналитические инструменты по действиям пользователей, динамическое обновление контента, системы чатов или микросообщений, профили пользователей, регистрация и авторизация, хранение и кэширование медиаконтента, геолокация.
А также будут нужны мобильные приложения под разные ОС с более упрощенным функционалом сообщающиеся с главным сервером данных сайта.