Дизайн API. Как лучше всего хранить форматированный текст, такой как HTML? - PullRequest
0 голосов
/ 14 мая 2018

Допустим, вы хотите, чтобы в вашем приложении отображался какой-то форматированный текст, и вы хотите разработать внутренний API для этой цели.

Форматированный текст может быть:

  • пункты
  • Некоторые полужирные или курсивные тексты
  • наименований от 1 до 6 вес
  • изображения

Это легко сделать в HTML.

Вы могли бы создать нужный мне форматированный текст, а затем сохранить весь его HTML-код в поле бэкэнд-модели.

Затем извлеките его через бэкэнд-API в виде строки HTML и отобразите в веб-просмотре в вашем приложении или как-то еще.

Но это звучит как плохая практика, хотя я не слишком уверен.

Пожалуйста, поделитесь своими мыслями и опытом по этому поводу.

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

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Лучшим средством отображения HTML, вероятно, является какой-то компонент веб-просмотра, который по своей природе довольно тяжелый.

В вашей ситуации я бы рассмотрел компонент уценки.Причина этого заключается в том, что уценка очень близко сопоставляется с NSAttributedString.

^^ Все мнения, конечно.

0 голосов
/ 14 мая 2018

Обычно не очень хорошая идея хранить и отображать HTML как есть, особенно если он может быть введен пользователем (см. HTML-инъекция). Если HTML-код всегда взят из надежного источника, то все же следует хранить его как есть.

Некоторыми лучшими альтернативами было бы разрешение пользователям вводить markdown вместо HTML, который затем может быть преобразован в HTML при отображении.

Если, однако, уценка не соответствует всем вашим критериям, HTML-код, который будет сохранен и отображен позже, должен быть удален из всех возможных вредоносных тегов, например, <script> и <iframe>.

.
...