Open GoogleCodeExporter opened 9 years ago
Мне кажется, что JSON предпочтительнее, чем
самодельные форматы... И чем раньше это
случится сейчас - тем больше вообще
вероятность, что это случится... А в плане
расширения функциональности и усложнения
архитекруры стандартизация - просто
необходимая вещь.
Если менеджмент проекта одобрил бы
выделение времени на переход к новому
формату, это было бы более чем правильно.
Тем более, что сейчас идет речь о изменении
вида запросов для объединения их в один.
В худшем случае, это можно будет сделать в
перую очередь после выхода первого
рабочего релиза. Но это сопряжено с
проблемами другого характера, о которых я
скажу чуть ниже.
В плане "любви к искусству и полезного
опыта" - переход на новую спецификацию -
дело трудное и вряд ли за него возьмутся
группы мобильных приложений, пока для
этого не будет все готово со стороны API.
Целесообразно это или нет, но я бы
предложил группе API в первую очередь
реализовать полную поддержку JSON, а уж после
этого группам приложений браться за эту
работу.
Реализация перехода довольно проста:
Если в запросе приходит параметр format=JSON, то
ответ передается в виде JSON в случае
отсутствия параметра или наличия
параметра format=XML (или format=old), передается
старый формат, дабы осуществлять поддержку
остальных приложений на время перехода.
Если сделать поддержку JSON для уже
реализованных методов и поддерживать его
наличие для новых методов, то тогда группам
приложений будет очень просто переходить,
на новый формат, не опасаясь того, что с
этим возникнут трудности и вообще,
остановка работы.
Если же это делать после релиза, придется,
тьфу-тьфу-тьфу, в новых версиях продукта
тянуть за собой поддержку старого формата
на API-сервисе... То есть не только разделять
версии продукта, так еще и оставлять
поддержку упаковки в старый формат...Или же
безоговорочно предлагать пользователю
скачать новую версию продукта, а это с
точки зрения маркетинга не очень хорошо.
В общем - это уже дело времени и решения
начальства. Свое мнение я высказал. Спасибо.
Original comment by anton.go...@gmail.com
on 4 Nov 2010 at 7:18
>В плане "любви к искусству и полезного
опыта" - переход на новую спецификацию -
дело >трудное и вряд ли за него возьмутся
группы мобильных приложений, пока для
этого не >будет все готово со стороны API.
Со стороны API у нас по идее для этого уже все
готово - нужно только заменить содержимое
методов toStringData() и setData(String n, String d) - чтобы
они начали работать с новым фоматом. Всвязи
с этим я думаю нам нужно остановиться на
решении передавать связанные объекты не
массивом, а в виде вложенных структур JSON
(пример есть в википедии ссылкой выше) -
тогда API вообще не изменится - изменится
только реализация методов. Но естественно
все должно быть сначала реализовано на
стороне сервера и уже потом на мобильных
клиентах.
Кстати, в API я бы сделал небольшой
рефокторинг - перенес бы методы setData(String n,
String d) и toStringData() из структур Schedule в
интерфейсы ScheduleTable. Во-первых это позволит
иметь их разные реализации на разных
платформах (на андроиде будет
использоваться своя библиотека JSON, на JME -
своя). Плюс это необходимо сделать еще
потому, что для получения информации о
вложенных объектах потребует обращение к
соседним таблицам - например из таблицы
ScheduleTable нужно будет получать информацию из
LecturesTable - иметь этот код внутри объектов
Schedule/Lecture будет не очень правильно.
>Реализация перехода довольно проста:
>Если в запросе приходит параметр format=JSON, то
ответ передается в виде JSON в >случае
отсутствия параметра или наличия
параметра format=XML (или format=old), >передается
старый формат, дабы осуществлять поддержку
остальных приложений на время >перехода.
Я думаю подобное усложнение будет лишним.
Для деканата мы в любом случае будем
ставить отдельную версию сервера и базы
данных, а наш текущий сервер останется для
экспериментов, так что временно поломать в
нем совместимость с мобильными клиентами
будет не страшно.
Что же касается ближайшего планируемого
релиза - он будет носить статус публичной
беты в боевых условиях - рекламировать
приложение на весь универ я думаю мы сразу
не начнем - ограничимся нашим потоком и
пройдем еще один этап получения фидбэков; к
новому году я надеюсь мы сможем выпустить
еще одну обновленную версию и если вы
успеете это сделать - она будет
использовать новый формат данных.
>Или же безоговорочно предлагать
пользователю скачать новую версию
продукта, а это с точки зрения маркетинга
не очень хорошо.
Заставлять пользователя скачивать новую
версию конечно не очень правильно, но в
нашем случае думаю не смертельно, особенно
с учетом того, что приложение молодое и
пока находится в стадии активной
разработки. А также с учетом того, что наша
целевая аудитория - все-таки студенты - для
них скачать/переустановить программку для
мобильного телефона не должно быть слишком
сложной задачей. Конечно если заставлять
людей это делать каждый месяц, то рано или
поздно это начнет раздражать и нужно будет
думать об организации совместимости, но
пока еще это не наш случай.
Original comment by bender...@gmail.com
on 5 Nov 2010 at 3:41
Original issue reported on code.google.com by
bender...@gmail.com
on 4 Nov 2010 at 1:31