Какой язык программирования или технология лучше всего подойдут для разработки интерфейса и базы данных для работы с файлами на жестком диске?

Я ищу способ создать интерфейс для управления коллекцией видео, которая хранится на внешнем жестком диске и организована в папках. Интерфейс должен позволять добавлять разделы, тэги и другие функции, при этом он должен работать без подключения к интернету и быть совместимым с телевизорами. Я пробовал использовать HTML и текстовые файлы, но этого недостаточно. Установка PHP и SQL также не подходит, поскольку это требует дополнительных шагов. Я исключил Python и C#, так как не хочу компилировать в exe и не уверен в их совместимости с HTML-интерфейсами. Могу ли я быть не прав в своих предположениях или есть ли другие варианты? Заранее спасибо!
  • 15 января 2025 г. 1:13
Ответы на вопрос 2
Для разработки интерфейса и базы данных для управления коллекцией видео на внешнем жестком диске, вы можете рассмотреть несколько технологий, которые соответствуют вашим требованиям.

### 1. **Electron**
Electron позволяет создавать кроссплатформенные настольные приложения с использованием веб-технологий (HTML, CSS, и JavaScript). Это значит, что вы можете создать интерфейс, который будет работать как нативное приложение на различных операционных системах. Вы можете использовать JavaScript для работы с файловой системой и управления коллекцией видео, а данные можно хранить в JSON-файлах или использовать SQLite для хранения структурированной информации.

### 2. **Node.js + SQLite**
Если вы не против немного поработать с JavaScript вне браузера, то вы можете использовать Node.js для создания приложения с интерфейсом на основе веб-технологий (HTML, CSS и JS). Для хранения данных о видео вы можете воспользоваться SQLite – это легковесная реляционная база данных, которая может работать с файлами на жестком диске и не требует сложной настройки.

### 3. **Tkinter (если используете Python)**
Вы также можете рассмотреть использование Tkinter, что является стандартной библиотекой для создания графических интерфейсов в Python. Хотя вы изначально не хотели использовать Python, это решение позволяет быстро создать интерфейс, работающий локально. Используя библиотеки для работы с файлами и базами данных, вы сможете реализовать все необходимые функции.

### 4. **JavaFX**
Еще одна альтернатива – использовать Java и JavaFX для создания графического интерфейса. JavaFX позволяет создавать кроссплатформенные приложения с графическим интерфейсом, а вы можете использовать SQLite или другую файловую систему для хранения данных.

### Рекомендация
Если основная цель – это простота использования и работа без подключения к интернету, я бы рекомендовал **Electron** с использованием **Node.js** и **SQLite**. Это позволит вам создать интерфейс, который будет выглядеть современно и интуитивно понятно, а также легко управлять файлами и базами данных.

Такое приложение можно легко развернуть на локальном жестком диске, а также при необходимости адаптировать для использования на телевизорах, совместимых с приложениями на базе HTML и JavaScript.
Есть как минимум два подхода к решению этой проблемы: 
- Посмотреть на чем сделаны аналогичные продукты, например Plex https://himalayas.app/companies/plex/tech-stack
- Делать на чем умеешь и по мере роста продукта заменять технологии. Исходя из формулировки вопроса, речь идет о pet проекте. Если так, то не стоит тратить дни на поиск идеального решения, надо просто начать делать. В ходе реализации придет понимание того, что действительно нужно.
Похожие вопросы