Разработчики Mozilla представили (https://blog.mozilla.org/blog/2017/08/01/new-test-pilot-expe.../) новые возможности, доступные в рамках инициативы Test Pilot (https://testpilot.firefox.com/). Пользователям предоставлена возможность оценить и протестировать экспериментальные возможности, развиваемые для будущих выпусков Firefox. Для участия в программе необходимо установить специальное дополнение Test Pilot (учетная запись в системе Firefox Account при этом не обязательна (https://testpilot.firefox.com/terms)), в котором будет доступен список предлагаемых для тестирования возможностей. В процессе работы Test Pilot осуществляется сбор и отправка обезличенной статистики о характере работы с тестируемыми возможностями.В состав Test Pilot включены три новые функции:
- Send (https://testpilot.firefox.com/experiments/send) - инструмент для обмена файлами, позволяет загрузить файл, размером для 1 Гб. Файл загружается в зашифрованном виде (шифрование производится на стороне браузера клиента). После загрузки пользователю будет предоставлена ссылка, которая также генерируется на стороне клиента и включает ключ для расшифровки (ключ не передаётся серверу Mozilla). Файл можно получить только один раз, так как после первой загрузки или после истечения 24 часов он будет удалён из хранилища Mozilla.
В отличие от остальных экспериментов Test Pilot сервис Send не требует установки дополнения и оформлен в виде web-приложения send.firefox.com (https://send.firefox.com/). Серверная часть написана на JavaScript с использованием Node.js и СУБД Redis и доступна (https://github.com/mozilla/send/) для установки на собственном оборудовании.- Voice Fill (https://testpilot.firefox.com/experiments/voice-fill) - система голосового ввода, позволяет заполнять формы на сайта при помощи развиваемой в Mozilla системы распознавания речи (https://www.opennet.me/opennews/art.shtml?num=46892). В рамках текущего эксперимента поддерживается голосовая отправка поисковых запросов в Google, Yahoo и DuckDuckGo, но со временем число поддерживаемых сайтов планируется расширить. Распознавание осуществляется на сервере Mozilla, на который отправляются записанные с микрофона данные. Поддерживается только английский язык. Функциональность реализована (https://github.com/mozilla/speaktome) в виде дополнения в формате WebExtension.
- Notes (https://testpilot.firefox.com/experiments/notes) - система управления заметками, реализованная в виде всплывающей боковой панели. Поддерживается синхронизация заметок между разными экземплярами браузера, связанными с одной учётной записью в Firefox Accounts. Панель заметок реализована (https://github.com/mozilla/notes) в виде дополнения WebExtension.
URL: https://blog.mozilla.org/blog/2017/08/01/new-test-pilot-expe.../
Новость: http://www.opennet.me/opennews/art.shtml?num=46956
Что угодно, лишь бы браузер не пилить. У них там Servo не осиливает Acid2, а они стопицотый файлохостинг делают
Может быть Acid3?
Он имел в виду Acid1
Для отправки файлов есть куча разных облаков, голосовой поиск должны добавлять сами поисковики, для заметок есть так же куча сервисов, а так же пачка разных pastebin'ов, телеграфов и прочего. Чем они там занимаются? Зачем они это делают? Я каждый день страдаю от того, что при разработке страниц зависает webdev панель, нужно открывать новую вкладку и в ней делать, а вот в хроме всё как часики. Блин, когда уже FF займётся делом?
чуваки, это разные команды
чувак, можно сотрудников одной команды перегнать в другую.
Можно автомехаников отправить строить дом и посмотреть, что получится.
Можно уволить ненужных автомехаников и нанять строителей.
> можно сотрудников одной команды перегнать в другуюПравильно! Ведь если удвоить количество программистов в команде, то сроки выполнения задачи сократятся в два раза. Да?
Увы, уже полвека известно, что происходит ровно-таки наоборот. Читать "мифический человеко-месяц", Ф. Брукс.
+1 за webdev панель. Она не справляется с JS исходниками в несколько метров.
расстреливать бы вас за такие js
обычный размер исходников во время разработки. разумеется в продакшн все десяток раз обжимается и обфусцируется.
> обфусцируетсяА за это на кол!
А почему? Ведь быстрее же грузится будет.
>> > обфусцируется
>> А за это на кол!
> А почему? Ведь быстрее же грузится будет.Вы палите сверхсекретные техники изменения реальности!
Должно быть вы живёте в какой-то альтернативной реальности. Обфускация подразумевает намеренное запутывание логики кода и тут не обойтись без дополнительных операций. Порой ещё и намерено добавляя большие участки кода, которые после выполнения не меняют ровно ничего. Обычно это не только не уменьшает, а только увеличивает конечный размер кода. Т.е. он и грузится дольше, и после этого исполняется дольше.
Скорее всего вы путаете обфускацию с оптимизацией. Оптимизация кода по размеру и скорости часто приводит к странному и тяжело читаемому синтаксису вперемешку с заменой всех имён на 1-3 символа. Естественно всё это без какой-либо разметки и комментариев. Для ещё большей оптимизации по размеру могут применяться техники архивации со встроенным разархиватором. Это позволяет быстрее скачать крупные скрипты на медленном соединении и раньше приступить к их выполнению. Правда это имеет смысл только если на сервере, с которого скрипт отдаётся, не настроено сжатие по-умолчанию.Т.е. если у нас есть код:
function hideSomething(parent)
{
parent.querySelector('#something').style.display = 'none';
}
hideSomething(document);То вот это сойдёт за оптимизацию:
(d=>d.querySelector('#something').style.display='none')(document)А вот это пусть и простая, но уже обфускация ("упаковка" + запутанный код):
eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('!8(a){a=a.9(a=>7(a)),(b=>b[a[5]][a[0]](a[1])[a[6]][a[2]]=a[3])(c(a[4]))}(["d","e","f","g","h","i","j"])',20,20,'|||||||atob|function|map|||eval|cXVlcnlTZWxlY3Rvcg|I3NvbWV0aGluZw|ZGlzcGxheQ|bm9uZQ|d2luZG93|ZG9jdW1lbnQ|c3R5bGU'.split('|'),0,{}))
Не понял как эта часть работает, разъясните кто-нибудь.(b=>b[a[5]][a[0]](a[1])[a[6]][a[2]]=a[3])(eval(a[4])
Точнее как eval вызывает код?
(b=>b[document][querySelector](#something)[style][display]=none)(eval(window
> Не понял как эта часть работает, разъясните кто-нибудь.
> (b=>b[a[5]][a[0]](a[1])[a[6]][a[2]]=a[3])(eval(a[4])
> Точнее как eval вызывает код?
> (b=>b[document][querySelector](#something)[style][display]=none)(eval(windowТы кавычки потерял. Потому и не работает. :)
(b=>b['document']['querySelector']('#something')['style']['display']='none')(eval('window'))
т.е. eval('window') просто возвращает window и больше ничего не делает. :)
слева же используется arrow-функция, которая принимает window в качестве аргумента
Это я понимаю, я не понял, как это вызывается?b['document']['querySelector']('#something')['style']['display']='none'
в
window.document.querySelector("#something").style.display="none"
Данная arrow-функция, вроде же как, массив возвращает, или я что-то не понимаю?
> Это я понимаю, я не понял, как это вызывается?
> b['document']['querySelector']('#something')['style']['display']='none'
> в
> window.document.querySelector("#something").style.display="none"
> Данная arrow-функция, вроде же как, массив возвращает, или я что-то не понимаю?Эту arrow-функцию можно представить как:
function ()
{
return window.document.querySelector("#something").style.display = "none"
}Тут происходит присвоение значения прямо в return-statement. Так-как у присвоения более высокий приоритет оно выполняется первым. Это против норм написания нормального поддерживаемого кода, но это работает. Более того, в return можно запихать хоть всю логику функции.
Вот, например:
(function(a, b, c) {
return a=1, b=2, c=a+b, console.log(с===3?'← infamous dick comparison':'oops! we broke math!'), c;
})()
Выведет строку текста в консоль и вернёт число 3.
> обычный размер исходников во время разработкивот они js-обезьянки..
несмотря на то что js УЖЕ сверхвысокоуровневый -- эти обезъянки хотят ещё выше уровень и больше больше БОЛЬШЕ js-обёрток.
ну в итоге ясное дело выходят мегобайты и тормознутое говно вместо сайта
>несмотря на то что js УЖЕ сверхвысокоуровневыйjs это сверхвысокоуровневый ассемблер для браузера и больше ничего, несмотря на все потуги всяких коммитетов. которы так же страдают хренью вместо того чтобы делом заняться
У тебя какая-то суперспособность, равнять всех js разработчиков под одну гребенку.
Вообще не понимаю, откуда столько воя. Не осилил js? Железо слабое? Так это твои проблемы.
Про обертки - вообще смешно. Если обертка позволяет ускорить разработку в десятки раз, даже ценой чуть меньшей производительности и большим размером исходников, все будут использовать обертки, потому что это выгоднее для компаний. На интересы пользователей всем совершенно наплевать и на тебя лично, с твоими душевными ранами от js, тоже.
> Железо слабое? Так это твои проблемыМои. И мой выбор, у какого интернет-магазина покупать, а на какой даже не заходить. Потому что если сайт сделан за один вечер макакой-фрилансером, то и все остальные бизнес-процессы в этом магазине такие же. Курьеры едут долго и не туда, комплектовщики кладут не то, на складе реально нет того, что якобы есть на сайте, кол-центр тупо крутит музыку, и так далее.
но процент таких неженок невелик
людям пофиг сколько мегабайт js-дрисни на них вывалили. Куда интерснее цена.
В хроме не всё как часики. А еще там зонды. Не забывай. Ну и девтулзы ФФ априори лучше, чем девтулзы хрома. Видать ты неосилятор. ФФ лучше хрома.
> В хроме не всё как часики. А еще там зонды. Не забывай.
> Ну и девтулзы ФФ априори лучше, чем девтулзы хрома. Видать ты
> неосилятор. ФФ лучше хрома.Ты наверно путаешь лучше со своей привычкой. Т.к. по возможностям они оба находятся примерно на одной планке, но по организации UI и доступа к этим фичам у них подходы разные. Но сути это не меняет, потому что ФФ на данный момент не умеет адекватно парсить большие JS исходники: зависоны и лаги в комплекте
devtools в FF лучше, особенно для разных устройств — очень нравится. В общем не удобней, чем в хроме, но в хроме есть breakpoints для всех скриптов js, этого в FF нет. Очень удобно понять, что на странице шлёт куда-то запросы, в какой момент. Но если долго в FF держать открытым инспектор, производя разные манипуляции, он, бывает, просто зависает. На изменения не реагирует, f5/ctrl+f5 не помогает, только открывать новую вкладку. Это ужас, но миришься и пользуешься, а потом в новостях вот это вот читаешь (про облака и прочее).
Чего? Для разнвх устройств там убогая фигня. Он настолько отстает от хрома, что даже стыдно. Посмотри те доп настройки в хроме в адаптивном дизайне. Фф еле еле осилил часть в последнем релизе, а в хроме сто лет уже было и дальше ушло. Единственное чем пользую в фф это скриншот ноде любого куска кода, это да очень удобно. Но дев тулс реально часто тормозит и падает (
Мне приходится постоянно пользоваться dev-тулзами в обоих браузерах и да, они очень похожи, но, к сожалению, dev-тулзы фокса это периодический глюкодром. По крайней мере был ранее. В основном проявлялось когда нужно было посмотреть код обработчиков событий, навешенных на объект. Иногда не выводило вообще, иногда невозможно прокрутить, иногда крутило, но выводило пустоту ниже первого куска кода, иногда ещё что-то случалось. Благо хоть можно перейти к месту объявления кода. Более-менее нормально эта фича стала только недавно работать.
>> Для отправки файлов есть куча разных облаковнапример?
есть и анонимные?
да ну???
https://onetimesecret.com/ и телеграма вполне хватит для секретной передачи файлов. Браузеры это не нужно!
> телеграм
> секретной передачиАхахаха.
Нет, я пользуюсь им, он удобен, но это заявление чушь.
Вот например - http://telefile.me/Плюсы - напрямую с одного девайса на другой, без посредников, поэтому и максимальная скорость.
Минусы - оба девайса должны быть онлайн.
Вау, спасибо)
>>> Для отправки файлов есть куча разных облаков
> например?
> есть и анонимные?
> да ну???Пффф, я вообще последние лет 7-8 не понимаю, откуда тренды рождаются. Облака вам подавай. А gpg уже отменили? И облаков не надо: отправляй по почте. Ну или на файлошару залей какую-нибудь, а человеку оставь ссылочку.
То же самое я говорил, когда люди начали лепить велосипеды типа dropbox, хотя rsync уже давным-давно существовал. Теперь, конечно, они ещё и место в облаке предоставляют, и какой-то аналог системы контроля версий написали... Но когда он начинался, ничего подобного не было в помине.
> есть и анонимные?Десяток-полтора файлообменников с АНОНИМНОЙ закачкой точно есть, в т.ч. такие, которые больше 5 лет существуют. Вам мало?
> а вот в хроме всё как часики.А у меня наоборот, хром в упор не видит динамический js, только Firefox выручает.
Блин, только бы не выкинули из файрфокса часть, ответственную за отображение произвольных html-страниц интернета... а то придётся на хром переходить :(
>Распознавание осуществляется на сервере Mozilla, на который отправляются записанные с микрофона данные.И чем это становится нужнее всего что оно собирается заменить? И в чём сложность сделать это локально?
Ежели делать это локально, старпёры-нытики захотят увидеть код, а нам — прогрессивным, молодым и успешным — нафиг не упало никому свой код показывать.
Держи код
https://github.com/mozilla/DeepSpeech
Когда увидим альфа версию Firefox на движке Servo? Делают же совместно с Самсунгами, поэтому ресурсов то хватает! А чего-то не слышно, не видно никакого результата.
Ну вот они в рамках Quantum потихоньку переносят наработки Servo в основной Firefox. Результат какой-никакой.
https://www.opennet.me/opennews/art.shtml?num=45385
Вот уже, например, пошло
https://www.opennet.me/opennews/art.shtml?num=46917
помню как всё начиналось, сколько энтузиазма, сколько пафоса было, новый движок на новом нескучном языке. Говорили что через пару лет будет счастье, новый браузер который покорит мир.
А что вышло ? Дряхлый маразматик которому стараются установить кибернетический протез вместо сердца в надежде на то что он выиграет следующий олимпийский марафон.
Где тот задор двухтысячных ? тогда была действительно конкуренция между браузерами, а сейчас вместо этого стало болото где плескаются жирные и неповоротливые кабаны которых всё устраивает и которые способны только на подтяжку рыла и клонирования друг друга.
> Где тот задор двухтысячных ? тогда была действительно конкуренция между браузерамиДля современного web нужно реализовывать слишком много технологий, он переусложнён, вот и нету конкуренции, остались только те кто 20 лет всё это пилил, новому не выйти на этот рынок браузеров.
просто не нужно превращать браузер в операционную систему
Сейчас наоборот лютая конкуренция, которая не снилась войнам нулевых (быть хуже чем IE вообще сложно, чисто в плане разработки мозила особых заслуг за те времена не имеет, заслуги есть за идеологическую борьбу с драконом). Началась эта конкуренция в 2008. Сейчас веб платформа настолько реактивная, что браузеров только 4, от 4 крупных компаний, два из которых живут на предустановке на платформу (M$) и анальном огорождении платформы (Apple). Третий почти монополист (и чистая монополия на андроид-девайсах), оставшийся четвёртый умирает и пытается трепыхаться. Больше браузеров не будет, никто не осилит в это ворваться и конкурировать.
https://puu.sh/wZH94.pngp.s. Хороших браузеров никогда не было. И вряд ли теперь будет.
> p.s. Хороших браузеров никогда не было.А как же классическая Opera, дававшая прикурить многим вплоть до 2010-х?
Быстрее увидим Firefox на движке Хромого, ведь и так уже никаких различий
Для Ведра уже.
Нет чтоб наоборот - хлам выкидывать и браузер пилить, оптимизировать,.. так они наоборот пихают в него ещё мусора из-за чего он ещё больше разжиреет и заторомозит
> Нет чтоб наоборот - хлам выкидывать и браузер пилить, оптимизировать,.. так они
> наоборот пихают в него ещё мусора из-за чего он ещё больше
> разжиреет и заторомозитА в чем проблема? Запустить из браузера еще одно приложение (которое поставляется с дистрибутивом FireFox, лежит себе на диске (ну да, место "жесткое" кушает, но кого это сейчас волнует)), и да оно отъест свой кусочек памяти ОЗУ. Если оно от одного разработчика то пользователю скорее всего ничего настраивать не придется. Правда вот программисты всех этих "примочек" которые будут реализованы Моззилой в своих продуктах, что делать то будут?
>> Нет чтоб наоборот - хлам выкидывать и браузер пилить, оптимизировать,.. так они
>> наоборот пихают в него ещё мусора из-за чего он ещё больше
>> разжиреет и заторомозит
> А в чем проблема? Запустить из браузера еще одно приложение (которое поставляется
> с дистрибутивом FireFox, лежит себе на диске (ну да, место "жесткое"
> кушает, но кого это сейчас волнует)), и да оно отъест свой
> кусочек памяти ОЗУ. Если оно от одного разработчика то пользователю скорее
> всего ничего настраивать не придется. Правда вот программисты всех этих "примочек"
> которые будут реализованы Моззилой в своих продуктах, что делать то будут?Проблема в том что тратиться время и деньги на какую то муть. На зарплату 3 JS обезьянок надо нанять одного нормально программиста который будет пилить критически важный функционал.
Функционал — это ты
надеюсь, все это можно будет отключить в about:config. А то все эти ваши "фичи" - одна дырявее другой. Еще и с завязкой на проприетарный сервер мозиллы. Верной дорогой идете, товарищи! (нет)
лиса лучший браузер. все эти лишние вещи они делают только для пиара.
Эволюционная разработка движка браузера остановлена до разработки серво.
В движок браузера добавляются только стандарты чтобы не отстать.
> лиса лучший браузер. все эти лишние вещи они делают только для пиара.
> Эволюционная разработка движка браузера остановлена до разработки серво.
> В движок браузера добавляются только стандарты чтобы не отстать.Малаца! Премию за август заработал на второй день, давай теперь про вендус рассказывай. Старую маньку выгнали обратно в провинцию?
>все эти лишние вещи они делают только для пиара.И для пиара они потом у пользователей оказываются... ;)
Сразу видно, иксперт даже найтли 55-57 в глаза не видел.
Эволюционная разработка движка браузера в этом году впервые началась после 2008.
Нужно больше памяти. @__@
Кстати, в последнем FF Nightly появилась реклама от Pocket на about:newtab.
И что тут такого? Вам же не кажется странным реклама поиска Google в браузере Chreome («часто ищите в интернете?…»). Почему moz://a не может так же рекламировать один свой продукт в другом своём продукте?
Дык там реклама не Pocket, а от Pocket, т.е. прямые ссылки на статьи третьих лиц, никакого отношения ни к мозилле, ни к Pocket не имеющие.
> (ключ не передаётся серверу Mozilla)
> после первой загрузки или после истечения 24 часов он будет удалён из хранилища MozillaЯ поверил.
> (ключ не передаётся серверу Mozilla). Файл можно получить только один раз, так как после первой загрузки или после истечения 24 часов он будет удалён из хранилища Mozilla.Вот заживём-то теперь!