Ну и что? Вы знаете хоть кого-то, кто от этого пострадал? Везде их находят. Но только на Flash травят, т.к. это помогает отвлекать от дыр в песочнице самого браузера и операционной системы.
Нашли дыру в Android. Кто-то перестал им пользоваться?
Нашли дыры в iCloud такие, что фотки приватные звезд в паблик попал. Кто-то перестал iCloud пользоваться?
Нашли дыру в Eset Nod32. Кто-то удалил его и навсегда с публичным сообщением по этому поводу на хабре?
И самое главное — Google пилит встроенный Flash плеер и при этом блокирует исключительно Flash рекламу. Не надо быть гением, чтоб понять, что проблема не в безопасности и не в производительности.
Все дело в деньгах. За 2015 год сумма убытков от блокирования Flash рекламы составила чуть более 20 миллиардов долларов. А при переходе на HTML5 блочить её сложнее и убытки будут меньше у рекламных компаний.
Ну и самое главное — на последок. На странице размещают 10 баннеров на HTML5 и они жрут в сумме больше, чем эти же аналоги на Flash. И гугл пекся совсем не о расходе батареи. Иначе бы свои дудлы на GIF не перевел. Они советовали сем Canvas, как чужо, меньше жрущее батарею ноутбука. А сами его крайне редко используют. Наверное потому, что Canvas жрет всё не меньше, чем Flash.
Повторюсь. Проблема только в деньгах. Всем плевать на проблемы пользователей. Чем больше рекламы увидит пользователь — тем больше будет заработано денег. И пропихнуть насильно рекламу сейчас можно только на HTML5. Другие аргументы «против» тут будут из серии аргументации Microsoft — «Флеш плох потому, что его придумали не мы».
Для того, чтоб заставить пользователя смотреть рекламу — в Google придумали шикарный план:
1) Обосрать Flash не дав доказательств своих слов о его ущербности
2) Рассказать всем о крутости HTML5 Канвы для баннеров и своего сервиса свиффи, после которого баннеры просто не принимают из-за размера в кб
3) Начать делать свои дудлы в GIF и не делать так, как советовать другим делать все на HTML5
Что имеем на выходе:
1) Flash реклама, которая элементарно блокировалось — перешла на HTML5 и блокируется в разы сложнее
2) Flash реклама, которая на мобиле заменялась в лучшем случае на GIF анимацию — теперь на Canvas тоже и больше привлекает глаз
3) Блочить html5 рекламу сложнее. Значит больше показов == денег
Прошу прощения… а взлетел среди кого? Это как говорить, что какая-то там пушка-гаубица взлетела. Опять же — кто ее применяет? Рядовой пользователь? Нет. Поэтому и тут взлетели только iOS и Android. На улице остановить любого человека и спросить что такое Windows и Linux в любых его модификациях и Вам у виска покрутят ибо «Компьютер это Windows и телефон он аЙфон». Примерно это Вы услышите :) Я знаю что говорю, т.к. плотно с конечными пользователями работаю.
Сколько бы мобильных OS не выпускалось — дальше iOS и Android идти (после технико-экономического анализа) — оказывается бессмысленно. Market Share низкий. А если брать его проценты и вкладывать в целевую аудиторию по целевым странам — выходит, что не окупается вовсе.
Если бы это был бы гвоздь в крышку гроба — ни гугл, ни майкрософт не встраивали бы из коробки флеш в свои браузеры. Первый продолжает поддержку и второй — только начинает.
Тут причины иные. У гугла — реклама. На мобиле она отваливается и очень жестко. Люди не видят там флеша в браузере. А баннеры 99 из 100 именно на нем. Соотв. толку от рекламы на сайтах — ноль. Теперь все 100% юзеров будут видеть баннеры и настальгировать по временам флеш баннеров, которые можно было бы отключать.
Что касается десктопа — центральный контент блочиться таким образом не будет. Игры будут продолжать работать. И реклама в видео и в играх — тоже.
Гугл не флеш пытается прибить. Он пытается сделать так, чтоб неработающая реклама на мобиле — заработала.
А если это всего лишь приложение для заказа пиццы или товаров,
А если это всего-лишь приложение, то это не значит, что оно должно работать лишь бы работало. Мы проходили этот путь, когда «там всего 2-3 функции». Заканчивалось косяками, которые вылечились переходом на натив или же другую не html технологию
У меня тоже к исследователям масса вопросов. Особенно после того, как они смешали игровые и не игровые фреймворки / движки в одну кучу и пытаются нам продать, что никакой разницы нет.
Мы давно перестали вести мобильную разработку на html/js лишь потому, что это полное дно. Это как дом строить из соломы. Пока на улице лето — все отлично.
Теперь давайте проедемся по тому, что лично меня задело и раздражает:
— Вы упомянули, что PhoneGap создали в Nitobi Software, но забыли написать, что Adobe еще в начале октября 2011 года купил с потрохами Nitobi. Поэтому, пожалуйста, Adobe PhoneGap, а не Nitobi Software.
— В хабе стоит упоминание Unity3D. Вопрос — какое отношение Unity имеет к данной теме «приложений?» Вы суп кушаете вилкой, а чай пьете из ладошек? Unity3D пригоден только к играм. То, что его используют для UI-based приложений… мы возвращаемся к домику из сена и грязи. Если html/js для создания моб. приложений это дно — то делать их на Unity3D еще хуже. Это как купить спортивный автомобиль с низкой посадкой, чтоб ездить на нем по славянским раздолбанным дорогам и ругать автомобиль, что у него быстро колеса отваливаются.
— Незаслуженно упущены выгоды Adobe AIR. Если мы говорим о приложениях, а не играх, то именно эта платформы в разы чаще выбирается в сравнении с Unity3D.
Что касается всего прочего — как бы я сильно не любит Adobe AIR и HTML c его JS — сначала я бы вел разработку на нативе (java/objective-c/swift). На втором месте был бы Xamarin, на третьем Adobe AIR. Где-то дальше Unity3D и в конце списка все в куче говнофреймворки «для нативной разработки приложений html/js».
давайте будем честными. Известные ребята из www.linkedin.com кричали, что на html/js можно делать аппы и это невероятно круто. Но когда они начали делать их, а не кричать — вскоре они сказали, что больше никогда в жизни не возьмутся ничего делать на html/js в виде мобильных апп.
Ведь это и не аппа вовсе. Это просто кусок медленного html дерева засунутого в компонент браузера. С его software рендерингом.
Я утвердительно могу сказать, что Unity3D очень крутой и еще раз крутой. В ряде штук он подошел бы идеально для конкретных проектов. Некоторые задачи на нем тоже решаем. Но стоит понимать, какое блюдо необходимо кушать ложкой, а какое вилкой. И обижаться на суп не надо, если он сквозь вилку просачивается :) Поэтому, для этой игры, я бы выбрал исключительно Adobe AIR и Starling для рендеринга. Так же опубликовал бы во вконтакте в виде Flash приложения «в один клик». Режим direct во вконтактике есть.
И еще — всем, кто решается куда двигаться с Adobe AIR в плане производительности — дам 2 своих любимых совета:
1) всегда проверяйте актуальность версий SDK. На сегодня это 18.0.0.199 в релизе и 19.0.0.183 бете от 26 августа 2015
2) используйте Adobe Scout для профилирования производительности.
1) Исходя из статья — понял, что у Вас все попытки на AS3 были ограничены Software режимом рендеринга. Фишка в том, что Unity3D так не умеет. Но Вы зачем-то сравнивали мокрое с мягким. А вот Flash и Adobe AIR умеет как Software, так и Hardware. И чтоб получать нужный результат — необходимо буквально понимать, что, где и как применять. Без базовых знаний в области работы GPU — у Вас и С++ будет «хуже, чем Unity3D». То, что у Вас и вышло с AS3, на самом деле.
2) Для игры достаточно было использовать Starling — самый популярный 2D framework для работы с GPU на Flash и Adobe AIR. Пусть старлинг не самый шустрый в своей категории (средний среди самых быстрых), но он максимально полно повторяет привычный флешовый Display List и идеально подходит для создания 2D приложений и игр. И на нем так много игр с 60 фпс, что я даже поленюсь кидать сюда этот список зафичеренных игр на AIR в Apple AppStore, например.
3) Получить 60 fps на Flash & Adobe AIR не просто можно, а очень легко. Включая старые девайсы типа iPhone 3GS. Просто надо знать чем отличается software рендеринг от hardware и не пытаться требовать от software того, что надо делать на hardware.
Кстати, игра интересная у Вас. Но она чудесно без лагов пошла бы и на HTML5 даже без WebGL. Просто надо понимать, что делаете. А не «тяп-ляп и в продакшен».
Приношу извинения, если мое сообщение показалось резким. Но другие уважаемые читатели хабра должны понимать ситуацию не однобоко. А то так глядите и Unity3D у Вас овном окажется через время, если Вы не поймете, что такое Draw Call, текстуры в степени 2йки и npot, атласы, батчинг и прочие штуки…
«интересно по каким это тестам АС3 проиграла юнити в игре ПАЗЛ?»
От себя спрошу. Может быть ровности рук недостаточно? Есть в десятки раз сложнее игры, где проблем на as3 нет. А тут всего-лишь пазл и уже какие-то сложности. Уверен, что там и на swift с Sprite Kit были бы трудности.
Вот только не смейтесь, но все мои знакомые прошли через такой путь. Причем о нем мне они рассказывать начали еще с 2013 года примерно :)
Начало знакомства:
О, круто! Я всю жизнь делаю сайты и теперь смогу делать мобильные приложения как Бог — На HTML через ХХХ движок! Осталось среди 100500 движков выбрать единственный, который самый крутой!
Спустя неделю:
Так, все ок. Приложение сделал. Круто, что быстро вышло! Теперь надо протестировать его у друга. У него как раз X1 девайс. А то на моем X10 все клево и всегда.
Спустя две недели:
Так, что-то тормозит и лагает все дико. Пойду гляну еще раз на других девайсах. Так, что-то на популярных X2-X5 все уныло лагает. Это наверное потому, что я выбрал XXX фреймворк. Возьму-ка я ZZZ или вобще FFF, там еще круче пишут в рекламе!
Спустя еще пару дней:
Так, что-то и тут лагает. Ладно, хрен с ним. Надо прикрутить нативные сервисы. О блин, плагин надо на нативе писать. То, что я хочу — нету из коробки.
Спустя месяц:
Да что за бред!? Почему написано, что всё можно, когда оно лагает и ничего не работает, как надо!? А для компонентов надо на нативе писать!? Может сразу надо на нативе писать?
Спустя два месяца:
Ого! Так оказывается, что все эти «фреймворки» — это просто WebView и ничего больше! Нафига я вообще с этим связывался!? Пойду всё на натив перепишу с того тормозного овна!
Спустя пол года чуваки идут работать нативщиками в компании и забивают на тщетные попытки разработки html приложений. Занавес.
Кстати, дабы не давать людям ложные надежды — почитайте лучше про LinkedIn, как они сначала били себя в грудь, что за html приложениями будущее и потом начали кричать, что это был их самый печальный опыт и они ушли в натив, т.к. на html ничего сложнее формы логина сделать не получится, чтоб не лагало.
Развивать спецификацию? Что там сложного? Я могу в пьяном состоянии в 5 утра сказать, что надо добавить в html5 и как это должно работать. Только проблемы не в этом. Проблемы в том, что каждый браузер хочет сделать это круче, чем у других. В итоге имеем 100500 реализаций одной и той же штуки. И везде работают не просто по разному, а еще и косо-криво.
Ничего развивать не надо. Пусть берут и тупо копируют Flash, но на html5. Никто же не против. Если конечно не боятся маркетологи, что им скажут «Почему html5 такое же омно как и Flash???» :)
Нашли дыру в Android. Кто-то перестал им пользоваться?
Нашли дыры в iCloud такие, что фотки приватные звезд в паблик попал. Кто-то перестал iCloud пользоваться?
Нашли дыру в Eset Nod32. Кто-то удалил его и навсегда с публичным сообщением по этому поводу на хабре?
И самое главное — Google пилит встроенный Flash плеер и при этом блокирует исключительно Flash рекламу. Не надо быть гением, чтоб понять, что проблема не в безопасности и не в производительности.
Все дело в деньгах. За 2015 год сумма убытков от блокирования Flash рекламы составила чуть более 20 миллиардов долларов. А при переходе на HTML5 блочить её сложнее и убытки будут меньше у рекламных компаний.
Ну и самое главное — на последок. На странице размещают 10 баннеров на HTML5 и они жрут в сумме больше, чем эти же аналоги на Flash. И гугл пекся совсем не о расходе батареи. Иначе бы свои дудлы на GIF не перевел. Они советовали сем Canvas, как чужо, меньше жрущее батарею ноутбука. А сами его крайне редко используют. Наверное потому, что Canvas жрет всё не меньше, чем Flash.
Повторюсь. Проблема только в деньгах. Всем плевать на проблемы пользователей. Чем больше рекламы увидит пользователь — тем больше будет заработано денег. И пропихнуть насильно рекламу сейчас можно только на HTML5. Другие аргументы «против» тут будут из серии аргументации Microsoft — «Флеш плох потому, что его придумали не мы».
1) Обосрать Flash не дав доказательств своих слов о его ущербности
2) Рассказать всем о крутости HTML5 Канвы для баннеров и своего сервиса свиффи, после которого баннеры просто не принимают из-за размера в кб
3) Начать делать свои дудлы в GIF и не делать так, как советовать другим делать все на HTML5
Что имеем на выходе:
1) Flash реклама, которая элементарно блокировалось — перешла на HTML5 и блокируется в разы сложнее
2) Flash реклама, которая на мобиле заменялась в лучшем случае на GIF анимацию — теперь на Canvas тоже и больше привлекает глаз
3) Блочить html5 рекламу сложнее. Значит больше показов == денег
В итоге Google отымел всех пользователей.
Тут причины иные. У гугла — реклама. На мобиле она отваливается и очень жестко. Люди не видят там флеша в браузере. А баннеры 99 из 100 именно на нем. Соотв. толку от рекламы на сайтах — ноль. Теперь все 100% юзеров будут видеть баннеры и настальгировать по временам флеш баннеров, которые можно было бы отключать.
Что касается десктопа — центральный контент блочиться таким образом не будет. Игры будут продолжать работать. И реклама в видео и в играх — тоже.
Гугл не флеш пытается прибить. Он пытается сделать так, чтоб неработающая реклама на мобиле — заработала.
А если это всего-лишь приложение, то это не значит, что оно должно работать лишь бы работало. Мы проходили этот путь, когда «там всего 2-3 функции». Заканчивалось косяками, которые вылечились переходом на натив или же другую не html технологию
Теперь давайте проедемся по тому, что лично меня задело и раздражает:
— Вы упомянули, что PhoneGap создали в Nitobi Software, но забыли написать, что Adobe еще в начале октября 2011 года купил с потрохами Nitobi. Поэтому, пожалуйста, Adobe PhoneGap, а не Nitobi Software.
— В хабе стоит упоминание Unity3D. Вопрос — какое отношение Unity имеет к данной теме «приложений?» Вы суп кушаете вилкой, а чай пьете из ладошек? Unity3D пригоден только к играм. То, что его используют для UI-based приложений… мы возвращаемся к домику из сена и грязи. Если html/js для создания моб. приложений это дно — то делать их на Unity3D еще хуже. Это как купить спортивный автомобиль с низкой посадкой, чтоб ездить на нем по славянским раздолбанным дорогам и ругать автомобиль, что у него быстро колеса отваливаются.
— Незаслуженно упущены выгоды Adobe AIR. Если мы говорим о приложениях, а не играх, то именно эта платформы в разы чаще выбирается в сравнении с Unity3D.
Что касается всего прочего — как бы я сильно не любит Adobe AIR и HTML c его JS — сначала я бы вел разработку на нативе (java/objective-c/swift). На втором месте был бы Xamarin, на третьем Adobe AIR. Где-то дальше Unity3D и в конце списка все в куче говнофреймворки «для нативной разработки приложений html/js».
давайте будем честными. Известные ребята из www.linkedin.com кричали, что на html/js можно делать аппы и это невероятно круто. Но когда они начали делать их, а не кричать — вскоре они сказали, что больше никогда в жизни не возьмутся ничего делать на html/js в виде мобильных апп.
Ведь это и не аппа вовсе. Это просто кусок медленного html дерева засунутого в компонент браузера. С его software рендерингом.
Что мешало авторам этого движка название методов взять из ECMA-Script спецификации?
Вот это, например,
SubscribeToEvent(«Update», «HandleUpdate»);
Было бы круче в таком виде:
addEventListener(Event.UPDATE, HandleUpdate);
Я утвердительно могу сказать, что Unity3D очень крутой и еще раз крутой. В ряде штук он подошел бы идеально для конкретных проектов. Некоторые задачи на нем тоже решаем. Но стоит понимать, какое блюдо необходимо кушать ложкой, а какое вилкой. И обижаться на суп не надо, если он сквозь вилку просачивается :) Поэтому, для этой игры, я бы выбрал исключительно Adobe AIR и Starling для рендеринга. Так же опубликовал бы во вконтакте в виде Flash приложения «в один клик». Режим direct во вконтактике есть.
И еще — всем, кто решается куда двигаться с Adobe AIR в плане производительности — дам 2 своих любимых совета:
1) всегда проверяйте актуальность версий SDK. На сегодня это 18.0.0.199 в релизе и 19.0.0.183 бете от 26 августа 2015
2) используйте Adobe Scout для профилирования производительности.
Успешных проектов Вам, stepanoffvitaly!
2) Для игры достаточно было использовать Starling — самый популярный 2D framework для работы с GPU на Flash и Adobe AIR. Пусть старлинг не самый шустрый в своей категории (средний среди самых быстрых), но он максимально полно повторяет привычный флешовый Display List и идеально подходит для создания 2D приложений и игр. И на нем так много игр с 60 фпс, что я даже поленюсь кидать сюда этот список зафичеренных игр на AIR в Apple AppStore, например.
3) Получить 60 fps на Flash & Adobe AIR не просто можно, а очень легко. Включая старые девайсы типа iPhone 3GS. Просто надо знать чем отличается software рендеринг от hardware и не пытаться требовать от software того, что надо делать на hardware.
Кстати, игра интересная у Вас. Но она чудесно без лагов пошла бы и на HTML5 даже без WebGL. Просто надо понимать, что делаете. А не «тяп-ляп и в продакшен».
Приношу извинения, если мое сообщение показалось резким. Но другие уважаемые читатели хабра должны понимать ситуацию не однобоко. А то так глядите и Unity3D у Вас овном окажется через время, если Вы не поймете, что такое Draw Call, текстуры в степени 2йки и npot, атласы, батчинг и прочие штуки…
Мира Вам!
«интересно по каким это тестам АС3 проиграла юнити в игре ПАЗЛ?»
От себя спрошу. Может быть ровности рук недостаточно? Есть в десятки раз сложнее игры, где проблем на as3 нет. А тут всего-лишь пазл и уже какие-то сложности. Уверен, что там и на swift с Sprite Kit были бы трудности.
Начало знакомства:
О, круто! Я всю жизнь делаю сайты и теперь смогу делать мобильные приложения как Бог — На HTML через ХХХ движок! Осталось среди 100500 движков выбрать единственный, который самый крутой!
Спустя неделю:
Так, все ок. Приложение сделал. Круто, что быстро вышло! Теперь надо протестировать его у друга. У него как раз X1 девайс. А то на моем X10 все клево и всегда.
Спустя две недели:
Так, что-то тормозит и лагает все дико. Пойду гляну еще раз на других девайсах. Так, что-то на популярных X2-X5 все уныло лагает. Это наверное потому, что я выбрал XXX фреймворк. Возьму-ка я ZZZ или вобще FFF, там еще круче пишут в рекламе!
Спустя еще пару дней:
Так, что-то и тут лагает. Ладно, хрен с ним. Надо прикрутить нативные сервисы. О блин, плагин надо на нативе писать. То, что я хочу — нету из коробки.
Спустя месяц:
Да что за бред!? Почему написано, что всё можно, когда оно лагает и ничего не работает, как надо!? А для компонентов надо на нативе писать!? Может сразу надо на нативе писать?
Спустя два месяца:
Ого! Так оказывается, что все эти «фреймворки» — это просто WebView и ничего больше! Нафига я вообще с этим связывался!? Пойду всё на натив перепишу с того тормозного овна!
Спустя пол года чуваки идут работать нативщиками в компании и забивают на тщетные попытки разработки html приложений. Занавес.
Кстати, дабы не давать людям ложные надежды — почитайте лучше про LinkedIn, как они сначала били себя в грудь, что за html приложениями будущее и потом начали кричать, что это был их самый печальный опыт и они ушли в натив, т.к. на html ничего сложнее формы логина сделать не получится, чтоб не лагало.
Ничего развивать не надо. Пусть берут и тупо копируют Flash, но на html5. Никто же не против. Если конечно не боятся маркетологи, что им скажут «Почему html5 такое же омно как и Flash???» :)