Comments 26
Насколько мне известно, правила App Store напрямую запрещают делать приложения, подгружающие код со стороны во время исполнения.
+1
Надо только понимать, что это не "мобильное приложение", а "мобильный клиент к веб-сайту, гвоздями приколоченый к наличию интернета".
Если надо сделать красивый отзывчивый интерфейс к веб-сервису (а большое число приложений для мобилок, за которые берут немаленькую денежку, именно таковыми и являются), то это — незаменимая штука. Если нужна какая-то логика, которая должна работать без интернета, начинаются проблемы.
+4
Судя по всему, многие читатели не поняли суть.
Disclaimer: я сам iOS-разработчик со стажем и не люблю ненатив, а даже немного побаиваюсь, что со временем останусь без работы из-за него :)
По делу:
Это не клиент. Это нативное приложение (фреймворк по сути), которое строит интерфейс исходя из конфигурации, которая хранится в JSON.
Все, однажды пришедшие, данные приложение может сохранить на девайсе и в дальнейшем ничего не мешает запускать в оффлайне. То, что тут в примере строго забиты данные для отображения, ни о чем не говорит. Ведь ничто не мешает вместо этого сделать конфигурацию для слоя работы с сетью — в JSON будет храниться информация, к каким эндпоинтам обращаться за данными.
Тут же можно дописывать кастомные элементы UI, которых не хватает.
Можно сделать обертку для работы с БД, которая также будет конфигурироваться из JSON.
В общем, полная свобода действий, но с оверхедом. Зато натив и кроссплатформа.
Disclaimer: я сам iOS-разработчик со стажем и не люблю ненатив, а даже немного побаиваюсь, что со временем останусь без работы из-за него :)
По делу:
Это не клиент. Это нативное приложение (фреймворк по сути), которое строит интерфейс исходя из конфигурации, которая хранится в JSON.
Все, однажды пришедшие, данные приложение может сохранить на девайсе и в дальнейшем ничего не мешает запускать в оффлайне. То, что тут в примере строго забиты данные для отображения, ни о чем не говорит. Ведь ничто не мешает вместо этого сделать конфигурацию для слоя работы с сетью — в JSON будет храниться информация, к каким эндпоинтам обращаться за данными.
Тут же можно дописывать кастомные элементы UI, которых не хватает.
Можно сделать обертку для работы с БД, которая также будет конфигурироваться из JSON.
В общем, полная свобода действий, но с оверхедом. Зато натив и кроссплатформа.
0
Окей, если это не клиент, а «полноценное приложение», поведайте, как на нём решить вот такую задачу (пример не из головы, я это дело в декабре лепил).
Есть база из полугигабайта вордовских документов с разбивкой по разделам и темам. Нужно сделать оффлайн-читалку, которая при наличии интернета выкачивает документы из выбранных разделов и тем, отслеживая при этом появление новых и обровлённых документов, позволяет их в дальнейшем читать В оффлайн режиме, а так же обеспечивает оффлайн полнотекстовый поиск по оным. Поиск не должен длиться часами (в моём случае он по полной базе искало секунды за полторы).
Есть база из полугигабайта вордовских документов с разбивкой по разделам и темам. Нужно сделать оффлайн-читалку, которая при наличии интернета выкачивает документы из выбранных разделов и тем, отслеживая при этом появление новых и обровлённых документов, позволяет их в дальнейшем читать В оффлайн режиме, а так же обеспечивает оффлайн полнотекстовый поиск по оным. Поиск не должен длиться часами (в моём случае он по полной базе искало секунды за полторы).
0
Если же использовать его для кроссплатформенного гуя к нормальному коду, то я не вижу никаких преимуществ перед решениями типа Xamarin.Forms, которые точно так же предоставляют переносимую декларативную разметку для нативных виджетов.
0
Статья состоит из маркетологического бреда чуть менее, чем полностью.
Во-первых, «это очень просто, потому что это JSON» — откровенная манипуляция. Как если бы для свободного разговора на английском достаточно было выучить 26 букв латинского алфавита.
Во-вторых, зачем мучать JSON и пытаться выразить на нем логику, если для этого гораздо лучше подходят классические ЯП? Я понимаю, когда для решения задачи выбирают самую неподходящую технологию в качестве эзотерического упражнения, но тут вроде как всё на полном серьезе.
В-третьих, есть же Ionic Framework, React Native, Apache Cordova на куда более известном наборе технологий — в чем преимущество перед ними?
Во-первых, «это очень просто, потому что это JSON» — откровенная манипуляция. Как если бы для свободного разговора на английском достаточно было выучить 26 букв латинского алфавита.
Во-вторых, зачем мучать JSON и пытаться выразить на нем логику, если для этого гораздо лучше подходят классические ЯП? Я понимаю, когда для решения задачи выбирают самую неподходящую технологию в качестве эзотерического упражнения, но тут вроде как всё на полном серьезе.
В-третьих, есть же Ionic Framework, React Native, Apache Cordova на куда более известном наборе технологий — в чем преимущество перед ними?
+2
О, мсье, знает толк в извращениях!
+3
А где приложения в аппсторе?
0
UFO just landed and posted this here
Спасибо за статью! Для разработчиков бекенда — это просто независимость от всевозможных фронт-заморочек, не надо париться где найти толкового фронтиста, который выведит приложение собственно на экран. Остается скорректировать респонс в нужном формате и о чудо, REST-бек превращается в бек с фронтом!
А как с браузерной версией? Или я что то пропустил…
А как с браузерной версией? Или я что то пропустил…
0
Остается скорректировать респонс в нужном формате и о чудо
Дьявол в деталях. Фронтенд, формально — это тоже всего лишь «респонс в нужном формате». И есть подозрение, что найти толкового фронтендера все-таки проще и быстрее.
+1
Ничего подобного раньше не пробовал. Начал делать проектик — пока получается, значит порог вхождения невысокий. Скажите, какова максимальная длина текста для type:label?
0
Порог вхождения действительно невысокий, но чем дальше в лес тем больше дров, стандартные примеры пусть и уникальны в своем роде, но мало чем отличаются по дизайну. Для меня минусом стало то, что нельзя взаимодействовать с внутренним кодом (если это не так, то подскажите как это можно сделать). К примеру при парсинге сайта нужно как то воспроизводить ifame видео.
Еще немного огорчило что на тех же ios все смотрится куда красивее, но скорее всего это из-за моего древнего аппарата.
Еще немного огорчило что на тех же ios все смотрится куда красивее, но скорее всего это из-за моего древнего аппарата.
0
То есть это отказ от XML разметки и Java(в случае Android) логики в пользу Json разметки и Json логики? Выглядит очень круто для крайне узкого круга проектов. Я буквально не могу быстро придумать, где это может быть удобно. А вот для перевода HTML в натив может быть интересно.
0
Дело полезное!
В чём преимущество перед Cordova (помимо «фатального недостатка»)? В двух словах?
В чём преимущество перед Cordova (помимо «фатального недостатка»)? В двух словах?
0
Невероятно! На самом деле я давно мечтал о кроссплатформенной разработке без зубодробильных обверток. А тут чистый JSON, казалось бы, как его можно усложнить?) Разве что названием узлов и уровнем вложенности. Но это уже дело совести.
И самый главный вопрос: поддерживаются только стандартные элементы и их кастомизация? И если имеется кастомизация, каким образом она осуществляется? Просто иногда имеется возможность использовать некоторые CSS, например. возможно ли это тут? И что с шаблонами? Можно ли порезать картинку в ФШ и натянуть ее спрайтами какими-нибудь?
И самый главный вопрос: поддерживаются только стандартные элементы и их кастомизация? И если имеется кастомизация, каким образом она осуществляется? Просто иногда имеется возможность использовать некоторые CSS, например. возможно ли это тут? И что с шаблонами? Можно ли порезать картинку в ФШ и натянуть ее спрайтами какими-нибудь?
0
Sign up to leave a comment.
Как разработать кросс-платформенное приложение с помощью одной лишь разметки JSON