У моего босса большие мечты.
Он хочет написать приложение, которое будет работать как на настольных компьютерах, так и на мобильных устройствах.Кроме того, он хочет, чтобы он был время от времени подключен (может работать без подключения к интернету).Приложение будет в значительной степени полагаться на данные из базы данных.
Каждый, с кем он общается, постоянно настаивает на своем HTML5 / JavaScript для решения однократной записи везде (ish).
Я неУ меня большой опыт работы с такой средой - получение данных из базы данных с использованием JavaScript, ORM для JavaScript и тому подобное.Возможно, я забегаю вперед.
На какие вещи я должен обращать внимание, пытаясь приблизиться к стратегии, чтобы приблизиться к его целям настолько, насколько я могу?Вот предположения и вопросы, которые у меня есть:
Ожидания / Допущения
- Я ожидаю, что мне придется использовать один из «встроенных» или локальныхбазы данных, которые, кажется, возникли с помощью HTML5 и локального хранилища.
- Я ожидаю, что мне также придется найти какой-то способ синхронизации этих данных с данными, которые где-то хранятся на сервере.
- Я ожидаю, что синхронизация этих данных должна быть в домашних условиях.
- Я хотел бы иметь какой-то ORM, чтобы упростить работу с данными.
- IЯ ожидаю, что столкнусь со всевозможными странными вещами, связанными с размером локальной базы данных.
- Я ожидаю, что мне придется запустить весь код приложения на стороне клиента, так как они должны быть в состоянии выполнитьприложение без подключения к интернету.
Вопрос
Что я делаю?
Я вроде в растерянности дажезная, с чего начать.
Чтобы превратить это во что-то, что может иметь правильные / неправильные ответы, вот что полезно знать:
- Похоже ли подход HTML5 / JavaScript нахороший способ пойти (учитывая цели иногда подключенных, мобильных и настольных компьютеров)?
- На какие платформы и инструменты я должен обратить внимание, чтобы сделать разработку приложения максимально простой?
- Он просит слишком много?
Заранее благодарим за любые советы / рекомендации, которые у вас могут быть.
По запросу: Что делает приложение? Приложение является (более или менее) приложением цен / предложений для настраиваемого продукта.Существует множество продуктов (базовые шкафы, настенные шкафы и т. Д.), Набор стандартных настраиваемых параметров (дерево, отделка, стиль дверей) и множество (менее стандартных) модификаций к ним (уменьшение глубины, увеличение высоты,и т. д.).
В зависимости от выбранных вами стандартных настраиваемых параметров изменяется базовая цена каждого продукта.Затем вы можете добавить к ним модификации (которые также имеют свою цену).
Большая часть приложения уже существует (хотя и как приложение WPF без локально сохраненных данных).Он был разработан таким образом, чтобы его можно было продавать различным производителям, которые производят эти настраиваемые элементы (в первую очередь, кухонные шкафы и тому подобное).У каждого производителя есть свои собственные правила относительно того, какую древесину / отделку / и т.д. они предлагают, и как они определяют базовую цену продукции (которая также варьируется) и как вы можете смешивать / сочетать различные виды дерева / отделки и т. Д.
БлаБла, бла, каждый производитель очень уникален.
Чтобы решить эту проблему, мы создали подход на основе формул, в котором после настройки их продуктов / опций/ etc вы можете написать некоторые формулы, чтобы определить не только отношения между ними, но и то, как их оценивать.
В нашей текущей модели приложение запускается на ПК пользователя, а данные находятся на веб-сервере, которыйприложение звонит.Он хочет превратить всю эту штуку в мобильное приложение, которое иногда подключается и которое мы можем использовать и на настольных компьютерах.
Существует довольно много данных, связанных с ним, поскольку данные любого производителя будут содержать изображения, описания, примечания, тысячи продуктов / модификаций и много информации о них (ширина, высота, глубина, количество дверей и т. Д.) .