@tim_leon

Разработка канбан-доски (pet-проект) для опыта. Технологии, фреймворки?

Здравствуйте.
Хочу написать реализацию канбан-доски (пока в стадии идей, проектирования, поиска фреймворков и т.д.) для себя, но возникли вопросы на которые толком не могу найти ответа.

Изначально планировал писать на Java/Kotlin, но теперь не уверен: если с реализацией кроссплатформенного функционала не должно быть проблем (возможности у языка обширные), то с интерфейсом есть, так вот насколько удобен JavaFx под это дело и насколько позволяет современный интерфейс написать (хотел прикрутить HTML+CSS, но единственный вариант который я нашел - использование встроенного браузера для отображения, более "нативного" чего-то нет)?
Просто уже начинаю склонятся к альтернативным решениям в виде Electron (HTML, CSS, JS), какие еще можно как вариант (к С++ не имею ничего против, но с Qt не хочется связываться, а там насколько знаю он в основном и доминирует, как решение для современного интерфейса)?

Какие есть способы хранения элементов этой доски: текста, картинок и т.д., что-то свое (но что?) или лучшим вариантом остается подключение к БД?
  • Вопрос задан
  • 1469 просмотров
Решения вопроса 2
sfi0zy
@sfi0zy
Creative frontend developer
хотел прикрутить HTML+CSS, но единственный вариант который я нашел - использование встроенного браузера... начинаю склонятся к альтернативным решениям в виде Electron


По вашим словам кажется, что вы придумываете приложение для одного человека работающее в единственном экземпляре. А почему бы не сделать клиент в обычном браузере (html/css/js - полный набор, верстайте, что хотите) и отдельный сервер с БД и логикой? Сервер можете и на Java делать. А можно и на PHP. Приложение по самой своей идее должно быть для нескольких людей, так что такое разделение было бы логичным.
Ответ написан
tim_leon, Вам понадобится два технологических стека:
  • Стек для фронтенда стройте в зависимости от своих навыков и области применения. Планируете только веб сайт или мобильное приложение? Для веб сайта порекомендовал бы что то из современных фреймворков (Angular, React, Vue) и делать SPA. Для мобильных приложении выбор между нативной разработкой(Java, Kotlin, Swift, Objective C) и кросплатформенной (NativeScript, ReactNative, ...).
  • Для бекенда ограничении практический нет. Выбирайте, то что Вам больше знакомо или не знакомо(желание приобрести навык). Бекенд для Kanban доски довольно тривиальная задача


Выбор Вами Electron-а предполагает разработку Desktop приложении, и это когда они не в тренде. Выбор между Javascript, Java, Kotline и C++ пугает своей неопределенностью. Уточните, в каких языках у Вас есть опыт, и можно будет выбрать.

Какие есть способы хранения элементов этой доски

Рекомендую сначала определиться с сущностями, которые будут присутствовать в Вашем проекте. К примеру: пользователи, проекты, доски, карточки и т.д. Далее определить их свойства (атрибуты): проект > наименование, дата создания, автор, ... Текстовые данные хранить в БД, медиа файлы можно файлами в ФС. Таким образом появится задачи для выполнения, которую необходимо сделать.

Для образования и совмещения в голове Kanban и разработку ПО, советую книгу "Пользовательские истории. Искусство гибкой разработки ПО".

P.S. Сам пользуюсь ZenKit, но если бы задался целью разработать свою программу для Kanban-а, то выбрал бы Vue+SPA для клиента и Python или Golang + MongoDB для сервера. Выбор исключительно из того, что обладаю опытом в выбранном стеке. Для мобильного Nativescript+Vue.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы