2014-10-10 1 views
0

При разработке для мобильной платформы, подходящем для форматирования чисел и дат?Какое место нужно делать для формирования - клиент или сервер

Число и форматирование даты в Java, по-видимому, проще, чем на Javascript. Лучше ли отправлять дату в качестве стандартного формата с сервера и формат на клиенте или отправлять красиво оформленную дату с сервера?

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

+0

Если вы используете свою веб-разработку Java с помощью [Vaadin] (http://www.Vaadin.com/), вопрос: спорный вопрос. Весь веб-приложение живет на сервере, все в чистой Java. Не нужно знать или писать JavaScript, поскольку Vaadin делает это для вас. –

+0

Я согласен, что сложность кодирования не изменится, так как оба находятся на Java. Но даже в этом случае у нас могут быть логические слои, такие как слой «Уровень представления» и «Бизнес-логика». И тогда будет вопрос, в каком слое это нужно сделать! – Teddy

+0

Нет, слой презентации и бизнес-уровень - это другой вопрос. Бизнес-логика и хранение данных должны включать минимальное или вообще не форматирование, как правило. Форматирование, такое как определение запятой и периодом чисел или добавление знака доллара к сумме денег, производится на уровне презентации.С помощью обычных веб-технологий (а не Vaadin) этот слой представления соединяет как клиент (JavaScript), так и сервер (Java, PHP и т. Д.). С Vaadin оба уровня существуют на сервере. –

ответ

0

Из моего опыта я знаю, что javascript может быть тричным с форматированием чисел и дат. Хотя я не программирую на Java, я программирую на PHP. Я пытаюсь сделать форматирование на сервере. Его гораздо понятнее и легче играть с ним.

0

Согласно моему опыту, лучше всего сделать все форматирование на стороне сервера. Рассмотрим сценарий, когда клиенту нужно показывать только дату (а не временную метку), поэтому вы бы обрезали временную метку на сервере и отправили ее клиенту. Вниз по строке клиенту нужна дата и временная метка, вы должны снова изменить код на стороне сервера. То же самое относится и к числам, и к полям суммы. Единственное, что вы можете обеспечить со стороны сервера, - это один постоянный формат для любого типа данных. Это обеспечит плавный контракт между клиентом и сервером.

+0

«лучше делать все форматирование на самой стороне сервера» или «постоянный формат для любого типа данных»? Если бы я хотел отправить дату клиенту с сервера, какой должен быть формат? В соответствии с форматом, необходимым на этом конкретном экране? – Teddy

+1

Нет, не отправляйте конкретные форматы дат экрана. Отправьте один постоянный формат и дайте возможность форматировать на каждом экране. Это не приведет к каким-либо изменениям на стороне сервера, если каждый экран нуждается в другом формате даты. –

0

Я не знаю точное положение, но ...

Как правило, вы всегда можете разделить решение до:

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

2. Сторона клиента, где вам могут понадобиться (вы?) Различные форматы времени, которые будут отображаться (например, в соответствии с предпочтениями пользователей).

Edit: Чтобы быть более конкретным, как другие уже говорилось, я бы предпочел, чтобы выбрать сторону сервера для фактического форматирования, а затем вы можете сделать что-н, как это:

а) получить все форматы от сервера (например, как какой-то коллекции)

б) создать метод на клиента (например, JavaScript, или даже некоторую шаблонную систему - в этом случае аналогичный массив должен быть достаточным), который возвращает требуемый формат даты/времени

c) отобразить требуемый формат (с использованием этого метода или массива) в определенных местах

Смежные вопросы