@Katsimoto

С чего начать создание приложения для майндмэппинга?

Здравствуйте.

В ходе своей профессиональной деятельности столкнулся с необходимостью создания чего-то вроде модели принятия решений, что-то вроде майндмэппинга. Ни один из существующих менеджеров мне не понравился и не подошёл. Хочется сделать всё так, как нужно мне. То есть я хочу написать своё приложение для майндмэппинга.

Проблема в том, что о программировании я знаю только то что оно есть (ну может чуть больше). Тем не менее я всегда хотел поближе с ним познакомиться, но постоянно что-то мешало. Так как теперь я могу заняться этим в качестве хобби и не с целью заработка, а из чистого интереса, то решил попробовать реализовать то что мне нужно и заодно научиться программировать.

Подскажите пожалуйста, с чего мне начать решать эту конкретную задачу, в какую сторону смотреть.

Пожалуйста, не советуйте всякие академические учебники для начинающих, в которых нужно полгода (утрирую) писать скучные и бесполезные программы, где квадратик по экрану должен ездить, я так не могу. Хотелось бы начать решать заданную задачу и на этом учиться.
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
VoidVolker
@VoidVolker
Разработка приложения начинается с разработки ТЗ, как впрочем и любая другая разработка. Вот с этого и начните. Разработка ТЗ включает в себя такие вещи как:
  • Требования
  • Ограничения
  • Базовые скелеты интерфейса
  • Сценарии использования
  • Описание внутреннего функционала
  • Описание взаимодействия с внешними системами

Затем все вот это расширятся в частное ТЗ, где каждый пункт описывается подробно и в деталях, рисуется полноценный дизайн приложения и как оно должно выглядеть. Это называется этап декомпозиции — большая задача разбивается на множество более мелких, а те в свою очередь еще более мелких. Описывается поведение каждого элемента интерфейса и его функционал. Так же описывается взаимодействие со всеми внешними системами и интерфейсы взаимодействия. Например ОС — используемые АПИ, сервисы, файловая система; сетевые сервисы — описание взаимодействия с их API и описание используемых ими данных. Подробно описываются сценарии использования — как пользователь может решить какую-то задачу, используя данное приложение. Разрабатывается структура приложения, его модули и подсистемы, используемые фреймворки и библиотеки. Создаются тесты приложения — отдельных модулей, бизнес-логики, интерфейса, API и прочего. И так далее. Программирование — это лишь одна из составных частей в разработке ПО. И не всегда самая большая.
Вот после того, как напишете полное ТЗ, можно приступать к планированию разработки. В любом случае, вам необходимо ознакомиться с основами программирования (да-да, те самые большие книжки, но в сети полно более коротких туториалов, в т.ч. онлайн), какие существуют языки программирования, почему/чем отличаются и почему/чем похожи и т.д. А далее уже можно потихоньку брать по одной задачке из вашего ТЗ и поэтапно решать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
tumbler
@tumbler
бекенд-разработчик на python
Здравствуйте. Хочу научиться писать поэмы. По русский язык знаю что он есть. Только не предлагайте осваивать прописи, орфографию и грамматику, я хочу писать стихи и на этом учиться.
Ответ написан
Vlad_IT
@Vlad_IT
Front-end разработчик
С нуля будет сложно, хотя это не очень сложная задача. Можете оценить объем работы https://github.com/learn-anything/react-mindmap
Нужно отталкиваться от того, какие знания и в какой области у вас есть. Если веб, то идите в сторону VueJS + SVG, это будет быстрее и проще.
Ответ написан
@ponaehal
1. Необходимо осознать что придумывать колесо - пустая трата времени. Лучше взять одно из тех что продается в магазине и научиться им пользоваться (возможно после этого оно Вам понравится).
2. Вы не напишите свой майндмап, хотя бы просто потому, что такие продукты не создаются в одиночку. Все что может получиться у одного, даже очень опытного, разработчика - некий каркас или полуфабрикат, который по функциональности не сможет конкурировать ни с одним из существующих на рынке продуктов. Потребуется много-много человеко-часов до того момента когда из "этого" получится продукт.
3. Если интересно программирование, то начинать в любом случае придется с решения задачи "hello world!".
4. Обучаться лучше всего решая конкретную прикладную ПРОСТУЮ задачку, которую можно сделать в одиночку в обозримом будущем.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы