S
Но можно было сделать одно и то же
Stanislav
JSON, XML...
Павел
в чем необходимость в XML иметь параметры листа и параметры ветви? Или как там это называется
Pavel
в чем необходимость в XML иметь параметры листа и параметры ветви? Или как там это называется
Ну это зависит от требований. Например мы имеет классы языках программирования.
У них объектов есть имя класса и множество параметров.
Ветвь - это имя класса, множество параметров это параметры листа. Для описания объекта из ЯП xml подходит хорошо. Если использовать JSON то придется городить условности, типа "а давайте хранить имя класса в поле className, а проперти в классах с именем className запретим"
S
Павел
Pavel
Ну технически можно.
Павел
ну и зачем оно мне?
Павел
Pavel
Путаница будет как раз при условностях.
Pavel
Давайте пример.
Pavel
Тише тише Виталий) Отвечу)
Pavel
Лист это ветвь без продолжения. В академических языках ветвь иногда называют корнем, но стараюсь избегать этого термина потому что можно спутать с корнем дерева.
Pavel
В том что в xml обязывает давать названия ветвям и листьям (узлам)
Павел
вот мне кажется в json например структуру типичного экрана в iOS описать будет проще
Pavel
Не понял вопроса.
Pavel
А еще в XML для хранения детей не нужно выделять поле и именовать его как в JSON. JSON обязывает нас при наличии детей, отправлять их в именованое поле.
Павел
Anonymous
Работать пойдем сегодня?
Dmitriy
Я не занимаюсь разработкой приложений под мобильные устройства, но занимаюсь разработкой backend под всякое вот. Я ни разу за все время не видел острой необходимости использовать xml.
Dmitriy
Dmitriy
И все еще от парсера зависит
Pavel
ну и что тут такого то?
В том что вам нужно завести условность "а давайте мы детей будет хранить в поле children" и постоянно везде писать это children.
Павел
я прекрасно представляю UIView в виде JSON, с полем subViews, а UIView в виде XML где все сабвьюхи будут внутри скобочек не очень представляю
Dmitriy
Насчет верстки в XML. У нас есть некоторые приложения, верстка которых сделана в XML. И есть такой файлик, который называется project.xml
Dmitriy
И вот в ряде случаев он занимает 10-15к строк xml
Dmitriy
И редактировать это руками это пиздец
Pavel
Ради бога, ты можешь придумывать сколько угодно спецификаций. Но зачем, когда есть xml который делает все это из коробки: добавляет детей без боли, имеет имя узла.
Имя узла особенно важно для ООП, потому что почти всегда объекты имеют класс.
Dmitriy
А причем тут ооп вообще?
Павел
Dmitriy
Я не понимаю что происходит. XML 1) избыточен 2) сложнее парсится (время на парсинг) 3) сложнее редактируется 4) Если есть схема то вообще пиздец
Pavel
Опиши на JSON коллекцию из строк, которая не может иметь скажем больше 3 строк и содержит в данный момент 2 строки. Вот как бы выглядело это на xml:
<collection maxItems="3">
<str>qwe</str>
<str>qwe</str>
</collection>
Pavel
ЧТобы описать это на JSON вам потребуется большее количество узлов.
Valery
Если xml избыточен, используйте xml
Valery
Кек
Dmitriy
Да
Александр
Если есть опыт настройки пушей с firebase - отпиши пожалуйста.
серт никак не толкается в firebase
Dmitriy
Я ж говорю, это все красиво, но у меня есть project.xml в 15к строк
Dmitriy
И когда туда надо добавить одно поле — это пиздец
Pavel
Если xml избыточен, используйте xml
Ну просто есть же разные структуры данных, разные деревья. Если у вас нет имен узлов, используйте json. Если есть имена узлов то xml.
Pavel
Все зависит от сложности структуры. Нельзя взять и просто так сказать, xml избыточен.
Pavel
Это наверное сложно понять.
Pavel
А у тебя строки каких классов. Ты куда str проебал?
Pavel
Ты классы то добавь, не читери. Представь что там Cat Dog а не строки.
S
какой-то бред имхо. наркоманы
Pavel
Pavel
классы str. str имя класса пусть будет, давай, пихай str куда-нибудь
Pavel
типа className="str"
Pavel
А у тебя maxItems к потолку прибито? Как понять что это относится к collection?
Dmitriy
Так это атрибуты, не?
Victor
Оба вы правы. Для описания дерева UI удобнее юзать XML, но читать его хреново
Pavel
Dmitriy
Stanislav
Хотя я согласен с тем, что андроидская верстка неплохо лежит в xml. Но в JSON тоже можно было бы без проблем все сделать
S
Victor
Да, и проблема в маппинге этого xml в классы в дальнейшем есть.
Victor
Json лучше описывает обычные объекты с пропертями
Victor
UI же в итоге в какие-то классы преобразуется, и раскидать XML по дереву классов и пропертям равносильно задаче преобразования в json
Pavel
Если вопрос в принципиальной возможности то я согласен, что в JSON можно как-то отобразить. Но это будет не полный эквивалент. JSON из коробки строит деревья без имен узлов и для детей нужно выделять именованое поле.
Т.е. если у нас есть дерево без имен узлов и без детей, то мы сможем описать его и в XML и в JSON. Но если у нас есть деревья с именами узлов и детьми, то получается, что это дерево мы можем отобразить в XML 1к1. А в JSON мы начинаем рисовать другое дерево. И потом это другое дерево трактовать в оригинальное.
В этом и есть вся разница. Нельзя построить дерево с помощью XML и с помощью JSON 1к1. С JSON ты получишь другое дерево, которое сможешь по своим правилам трактовать, но это будет другое дерево, без имен узлов, и с именоваными полями в объявлениях детей.
Pavel
Я все.
Pavel
Ну и собственно, Виталий, челендж ты проиграл, потому что ты нарисовал другое дерево, и не мог в принципе нарисовать дерево, как в XML, потому что использовал JSON.
Вот теперь точно все. Сори.
Anonymous
Ты и в json, можешь привести все к какому-то стандарту, где будешь точно знать что у тебя тем или иным образом обозначает
Simon
а pointer to pointer в свифт можно сделать? или свифт не поддерживает такие извращения?)
Valery
Pavel
Да. Все зависит от дерева.
Anonymous
Ну потерпи пару недель или бету качай xcode 9. Эти возмущения уже устарели
Stanislav
Alexander
это потому что не на xml написано
Valery
Уж подожду релиза
Stanislav
Аж подозрительно
Valery