Как организовать сложный код JS (подробнее внутри)?
Добрый день, коллеги. Я во frontend не новичок, но и не назову себя высшим разумом. Вопрос касается JavaScript. У меня стоит задача, организовать ряд операций с Google Maps. C JS API разобрался, изучил за денёк, но вот теперь нарвался на недостаток опыта в таких крупных задачах (раньше ничего сложнее кусков кода для разного поведения интерфейса и запросов через Ajax не писал).
Есть ряд кнопок в панели инструментов. Нажимая на определённую кнопку я должен активировать определённое поведение с картами. Причём после этой активации я могу выбрать (к примеру) и активировать некий маркер, чтобы получить в панели инструментов дополнительный функционал и настроить этот маркер, после чего сохраню его и активного маркера не будет, а после и вовсе сменю инструмент и поведение карты должно поменяться вновь, на нужное (это определённый контент на карте, это могут быть события).
Сейчас у меня это всё на честном слове, на переменных. Активный инструмент и ряд других параметров, которые приходится постоянно проверять, и не далёк тот день, когда я просто потеряюсь в этом коде. Понимаю, что писать нужно что-то вроде объектов, реализовывать какой либо паттерн, но с чего начать изучение подходов?
Не прошу готовый код, прошу лишь идеи и точечные направления. Читаю много материалов, но во многих описаны лишь подходы и вообще идея модульной разработки, пока это мало чем помогло. Если не хватает входных данных или мой вопрос не до конца ясен - просите в комментариях, сразу же дополню.
Нет, и чувству зря не интересовался. Можете подсказать что-нибудь для начала? В JS знания есть, но не идеальные. В любом случае разберусь, ибо очень интересно!
Только с библиотекой jQuery имел честь работать, но сейчас стараюсь многие вещи писать ручками, ибо знания jQuery не очень то развивают познания JavaScript.
Artem Arsenowitch: а каков функционал у Вас там? Можно ли где-то посмотреть для вдохновения и поверхностного анализа? Проект сдавать к 11 числу, потому не уверен, что осилю освоить и написать всё на React, но на перспективу хочу освоить и развить понимание проектирования на JS.
1) Что-то не видно тут прям сложного приложения.
2) Прочитайте про паттерны "Модуль", "Фасад", "Медиатор", мне кажется этого вам должно хватить.
3) Вот тут неплохая статейка на тему.
Ну, для кого-то элементарщина, и я готов это признать, но мне интересно, как это делать ПРАВИЛЬНО, а не ради быстрой сдачи. Долго работал с backend, на фронт мало внимания уходило, но сейчас жутко интересно стало, да и задачки есть, на которых можно размяться. Благодарю за напутствия, прочту!
Поздравляю, вы пришли к необходимости использовать js фреймворки\библиотеки для одностраничных приложений, я бы порекомендовал посмотреть в сторону React.js, но так же можно и Angular, хотя как по мне для данной задачи он несколько избыточен.
Благодарю за поздравления :-D Только праздновать рановато пока. У mail ру подсматривал в JS код, когда разбирал, куда API шлёт запросы, ну так вот, достаточно всё в порядке там, очень понравилось. Конечно многое было не ясно, плюс всё после обфускации, но припекло, что я ещё не в теме((
Да, сейчас по-умолчанию все SPA сайт одностраничные приложения конкатенируют и обфусцируют свой js код с помощью webpack и других ему подобных. Поищите открытые примеры, например вот https://react.rocks/tag/Editor