Глеб
а еще например если кто-то хочет что-то запрятать)
все равно не пойму логику... исполнения джс скрыто... запрятать кого? куда?
Глеб
ну... есть рантайм для запуска скриптов: - это джвм, а скрипт-язык - java собственно работает без гуёв, андроид-совместимо
Max
https://github.com/dhamaniasad/HeadlessBrowsers/blob/master/README.md
да, надо пощупать, но похоже мой случай. благодарствую
Alexey
Это не то что я находил, но наверное можно там что-то раскопать)
Max
я боюсь только, что там таргет джава - и заявлена поддержка фантом жс, и возможно в зависимостях фантом жс - а такого бинаря под андроид не существует
Глеб
сори, вообще не понял тебя
если не нужны гуи? зачем нужен джс? есть джава, сиплюсплюс... ну .. специально для "исполнения" на платформе заточены мы же не пытаемся например заставлять браузер открывать экзешники? в смысле прям там у себя их рисовать)
Max
не легче ли портировать вебвью клиент или написать свой вебкит? как думаешь какой эстимейт будет?)
Глеб
Alexey
Одностаничные сайты на жс
Глеб
твой пост звучит как «та нафиг тебе эта задача»))
звучит как "может более подходящие инструменты использовать"
Max
ты просто не сталкивался еще с такими задачами)
Alexey
твой пост звучит как «та нафиг тебе эта задача»))
Ну а так действительно. Сайт дёргает апи, там впринципе понять куда и как он лезет и не надо парсить
Max
звучит как "может более подходящие инструменты использовать"
ни разу не просили с вимео достать прямую линку на видео?
Max
суть примерно такая же
Глеб
ты просто не сталкивался еще с такими задачами)
Парсинг сайта и рекурсивный обход по ссылкам с выкачкой ссылок на опр глубину?
Max
Ну а так действительно. Сайт дёргает апи, там впринципе понять куда и как он лезет и не надо парсить
если бы там было несколько апи запросов простых, то конечно я бы уже через хромовскую консоль нашел решение)
Глеб
То есть задача может быть в синтаксич анализе html+js ?
Глеб
если бы там было несколько апи запросов простых, то конечно я бы уже через хромовскую консоль нашел решение)
То есть вам сторонний вебкит в приложение тащить ради выполнения запросов?
Mike
ни разу не просили с вимео достать прямую линку на видео?
Пользователю это так нужно, что можно ради этого сожрать очередные 200 МБ? 🤔
Глеб
Так не - сто пудово задача не в изобретении вебвью и уж перформанс нативного анализатора в разы будет превышать вебвью
Max
Пользователю это так нужно, что можно ради этого сожрать очередные 200 МБ? 🤔
мы же обсуждаем постановку задачи, а не ее целесообразность)
Глеб
анализ так анализ с выкачкой так с выкачкой просто какими средствами все приложения - сохрянлки оффлан сайтов кот я видел под винду были реализованы нативно никак не с помощью вебкитов
Mike
мы же обсуждаем постановку задачи, а не ее целесообразность)
С постановкой вроде все поняли, что всё плохо. Настал черёд целесообразности.
Max
я бы назвал ее просто не шаблонной
Max
ладно, это тупик) я понял, что вы бы от нее отказались)
Глеб
ладно, это тупик) я понял, что вы бы от нее отказались)
ручной парс с обходом и выполнением http-запросов
Глеб
самая что нинаесть алгоритмичн задача - я б еще и с ней по собесам в гугл потом ходил
Глеб
бинарные деревья им растолковывал)
Alexey
ручной парс с обходом и выполнением http-запросов
Ну так там нет разметки, ее жс рендерит
Глеб
для такой задачи я даже жалею что в плюсах слаб - там бы если параллелиться хорошо с рекурсивными обходами и параллелными закачками - вожно было б вообще огонь тулу сделать
Глеб
Ну так там нет разметки, ее жс рендерит
ну ... рендерит, же не с воздуха... выполняя запросы на бэк... ведь так
Глеб
а значит в неём прописаны эти запросы и линки на файлы в плоть до цсс-ов
Alexey
ну ... рендерит, же не с воздуха... выполняя запросы на бэк... ведь так
Ну да, тут парсить ничего не надо, а надо логику запросов понять
Alexey
Но если допустим посмотреть запросы Инстаграм (react), то там без бутылки не разберёшься)
Глеб
задача то интересная... но простите - 3рд парт вебкит - это прям "стрелять из дробовика по мухам"
Alexey
Хорошо там есть описание апи
Alexey
Есть приложение videomix. Там чувак как-то ссылки получает на видео пиратские, тоже интересная задача. Плеер так просто ссылки не отдает у них)
Глеб
Хорошо там есть описание апи
ну блин... сел...денек выделил и c включ F12 прошустрил весь сайт... уж не мне нативному разрабу вам объяснять как вэб вскрывается))
Глеб
тем более стороние сайты - как грабят? что вебкит скрыто на страничке запускают? тоже скорее всего есть логика выполнения цепочки запросов которая реализована на бэке каким нибудь пхп и тп
Глеб
вот вам и задача - придите к пхп-сту и скажите "как у тебя на бэке вебвью скрыто запустить?))"
Alexey
На бесктопе без проблем)
Max
там руки развязаны) а здесь связаны)
Alexey
Nashorn зачем-то делали ведь
Глеб
На бесктопе без проблем)
то есть все сервисы выпрямлялки ссылок и тп -поднимают у себя на бэке на линуксах - по вебкит-инстансу на запрос?
Alexey
Наверняка для нелогичных задач типа рендеринга spa на сервере
Глеб
ну чёт хрень какя-то... ладно я как человек далёкий от вэба не буду спорить... но видится это задача решаема - меньшей кровью и более нативной реализацией ваших хоть и хитрых но всё же логик
Max
И кому он нужен?
нужен-нужен
Alexey
И кому он нужен?
Хз, существует, значит юзают
Глеб
так если вы андроид рассматриваете - как серверные мощностя... не знаю если там кор ай 9 будет стоять - то и ваш Nashorn можно будет завести и руки там развязаны не меньше чем на обычном линуксе
Глеб
а если контекст исползования - удобный портативный мобильный - то ... сорян, серверные подход ы(3rd webkit) тут не работают... не ux-но не маркетингово никак
Alexey
Да и обычный вебкит может в js, можно его 1х1 пиксель сделать?
Alexey
Если можно, то можно дописать логику и дергать рендеринг)
Глеб
hiden апи поднимайте - может и так получится обычным
Denis
Добрый вечер. Подскажите, какой паттерн обычно используется когда есть ряд активити, фрагментов, диалогов где в результате ввода данных нужно получить один объект. Singleton?
Denis
По есть пользователь пошагово вводит данные и в конце нужно получить объект со всей инфой
Denis
Хорошо, а как в таких случаях поступать?
Vlad
Помогите разобраться с ошибкой. Dagger 2. С кодом всё ок, но вот при сборке вылетает ошибка.
Sergey
Хорошо, а как в таких случаях поступать?
Ну можно тупо Shared Preferences использовать
Sergey
Или передавать данные из одного фрагмента в другой
Sergey
Или создать Синглтон и туда постоянно записывать данные.
Sergey
очень плохой совет
Че плохой совет? Данные потом можно тупо обнулить
Mike
Че плохой совет? Данные потом можно тупо обнулить
Потому что они сами в неподходящий момент обнулятся.
Sergey
Я вот как нахожу какой-то нормальный вариант для решения какой-то задачи, думая, что это идеальный для решения конкретно этой задачи, так всегда в проектах вижу, что все делается не так, и начинаешь думать - может это так надо.