Вопрос или проблема
У меня есть серия записей, каждая из которых имеет одинаковые поля. Я хотел бы создать интерфейс формы для редактирования этих записей, так как управлять ими в текстовом файле неудобно. Мне нужно всего несколько типов полей на выбор (текст, число, изображение) и базовая валидация.
Похожие программные продукты — это InfoPath, Access и FileMaker. К сожалению, они не соответствуют моим критериям:
- Лицензия для личного использования (не обязательно должна быть бесплатной)
- Опция локального хранения данных
- Совместимость с Mac (поддержка в браузере подходит)
Google Forms не подходит, так как это только для ввода; вы не можете редактировать в интерфейсе формы. Я знаю, что такая программа была и исчезла за эти годы, но я не могу найти никаких вариантов сегодня.
Я бы порекомендовал взглянуть на Python и iPython или wxPython, чтобы создать собственное решение.
- Все они бесплатны во всех смыслах.
- Все они мультиплатформенные, включая OS-X
- Можно использовать практически любую или несколько back-end систем, включая базы данных
- Можно сделать очень сложную валидацию, если необходимо
- Вы найдете множество онлайн-руководств, групп поддержки включая stackoverflow и так далее.
Если рассматривать wxPython, то вы обнаружите, что в демонстрационной версии, доступной для загрузки, есть несколько возможных интерфейсов (доступных бесплатно). В то время как iPython notebooks запускает веб-сервер на вашем локальном компьютере, который предоставляет вам веб-интерфейс.
OpenOffice Base. Это громоздко, но удовлетворяет всем требованиям. Документация плохая, но форум поддержки — хороший ресурс.
Обновление: Забудьте. После нескольких недель использования Base я поменял свое мнение. Он часто вылетает, имеет несколько неприятных ошибок, несколько очень странных решений в UI и иногда зависает на 10-30 секунд. Он “работает”, но слишком болезненно для регулярного использования.
Вы могли бы попробовать инструмент вроде Smartclient, подключив его к локальной базе данных SQL (например, Postgres.app). Это может быть крутая кривая обучения, чтобы оно того стоило, но в принципе, можно просто использовать один из их примеров. Также, не думаю, что их версия LGPL имеет достаточно функций, а их Pro версия не дешева.
Если вы готовы к кривой обучения, я бы предложил PHPMailer. Понадобится некоторое время, чтобы разобраться, как его интегрировать, но он очень настраиваемый и бесплатный.
.
Ответ или решение
Для создания формы с локальным хранением данных на Mac вы можете рассмотреть несколько вариантов решений, каждое из которых удовлетворяет заявленным требованиям: доступность для личного использования, локальное хранение и совместимость с Mac, включая браузерные решения.
1. Python с использованием wxPython или iPython
Использование Python с библиотеками wxPython или iPython Notebook является гибким и мощным решением. Эти открытые библиотеки не только бесплатны, но и позволяют разработчику создать кастомизированный интерфейс формы с разнообразными полями (текст, число, изображение) и валидаторами:
- Преимущества:
- Полная кроссплатформенность, включая macOS.
- Возможность интеграции с различными базами данных.
- Богатая онлайн-поддержка и большое количество учебных материалов.
- Возможность создания веб-интерфейса при помощи iPython.
Этот вариант требует определенных навыков программирования и времени на разработку, но в результате вы получите решение, полностью адаптированное под ваши нужды.
2. Использование OpenOffice Base
Хотя OpenOffice Base первоначально предлагалось как подходящий инструмент, последующие отзывы показывают, что его стабильность оставляет желать лучшего: частые сбои, медленная работа и неудобный интерфейс. Поэтому, несмотря на изначальную совместимость с macOS и поддержание локального хранения данных, его использование может не оправдать затраченных усилий.
3. SmartClient в сочетании с Postgres.app
SmartClient, интегрированный с локальной SQL базой данных через Postgres.app, может предоставить необходимый функционал. Однако отметим, что:
-
Плюсы:
- Возможность построения сложных интерфейсов форм.
- Мощная обработка данных и взаимодействие с SQL.
-
Минусы:
- Крутая кривая обучения.
- Ограниченные возможности в бесплатной версии.
- Высокая стоимость полной версии.
4. PHPMailer
Хотя PHPMailer изначально не предназначен для создания форм, его упоминание как варианта решения требует дополнительных исследований и навыков интеграции. Это может быть полезно, если встроенные возможности подходят под ваши задачи и если нужна гибкость кастомизации.
Заключение
Каждое из указанных решений имеет свои плюсы и минусы в зависимости от ваших навыков, готовности к изучению новых инструментов и функциональных требований. Рекомендуется обращать внимание не только на заявленные возможности, но и на пользовательский опыт и стабильность работы. Python, вероятно, является наиболее универсальным вариантом, обеспечивающим гибкость и совместимость с macOS при адекватной поддержке сообщества. Выбор платформы зависит от ваших конкретных потребностей и технических возможностей.