Ionic-framework: Ускорьте начальную загрузку

Созданный на 6 июн. 2016  ·  159Комментарии  ·  Источник: ionic-team/ionic-framework

Мы разрабатываем приложение, которое частично является родным и частично гибридным.
Мы откроем действие Cordova, когда пользователь щелкнет элемент меню, и завершим действие, когда пользователь щелкнет обратно.
Проблема с этим подходом в том, что для первого рендеринга на экране требуется время. Мы размещаем все файлы ресурсов в папке с ресурсами, поэтому кэширование не имеет особого смысла. Есть ли прогрессивный способ загрузки приложения?

Самый полезный комментарий

Все,

Сейчас мы интенсивно тестируем это внутри компании. На этой неделе мы добились больших успехов.

Спасибо,
Дэн

Все 159 Комментарий

Привет @dheran . Время запуска - это то, над чем мы упорно работаем, чтобы сократить, пока мы говорим (:. В настоящее время мы работаем над новой цепочкой сборки, которая сделает приложения Ionic намного меньше и будет включать автономную компиляцию шаблонов. С этими двумя улучшениями вы можете ожидать вижу огромное улучшение времени запуска. Я бы поспрашивал на StackOverflow или на наших форумах (forum.ionicframework.com) о способах "предварительной загрузки" веб-просмотра, который находится внутри нативного приложения. Спасибо за использование Ionic!

@ jgw96 Привет, есть ли какие-нибудь существующие запросы или проблемы? Так что будет легко отслеживать и использовать его после того, как он будет реализован.

@dheran Хороший вопрос! На данный момент для этого нет хороших проблем с отслеживанием, так как это находится на очень ранних стадиях, но это высокий приоритет для нас, и команда ionic-cli добивается большого прогресса в этом. Как только это будет продолжаться, я постараюсь обновить эту проблему с нашим прогрессом, чтобы вы знали, чего ожидать (:

@ jgw96 , почему бы не оставить его открытым до тех пор, пока?

@ jgw96 Удаление неиспользуемых CSS во время процесса сборки также внесет большой вклад

Я использую ionic2 для создания мобильного веб-сайта, а затем обнаружил, что когда я использую браузер Android 4.4, открываю его, это происходит очень медленно. Есть ли мне какие-нибудь хорошие предложения?
сайт: https://zhaoxie.net/static/weixin/index.html
image

Кордова CLI: 6.1.1
Версия Ionic Framework: 2.0.0-beta.6
Версия Ionic CLI: 2.0.0-beta.31
Версия Ionic App Lib: 2.0.0-beta.17
Версия ios-deploy: 1.8.5
версия ios-sim: 5.0.6
ОС: Mac OS X El Capitan
Версия узла: v5.3.0
Версия Xcode: Xcode 7.2 Версия сборки 7C68

@ jgw96 есть идеи, какая версия получит эту функцию?

Привет @dheran ! Хороший вопрос! У нас есть рабочая реализация treehaking с помощью webpack 2 на несколько дней назад, и мы все еще работаем над использованием автономного компилятора. После прочтения заметок о собрании команды Angular сегодня похоже, что они не собираются называть автономный компилятор шаблонов «стабильным» до Angular 2 rc 4, но я надеюсь, что до этого времени мы сможем реализовать автономный компилятор.

@ jgw96 Кажется, они уже закрыли вопрос. https://github.com/angular/angular/issues/3605
и Angular RC 4 завершен почти на 33% (в стадии разработки).
Можем ли мы ожидать появления нового компилятора в ionic beta 10 или 11?

Привет, @dheran , мы активно над этим работаем. Это чрезвычайно важный вопрос для нас, поэтому, пожалуйста, будьте спокойны, зная, что мы сделаем это, как только сможем.

Спасибо,
Дэн

@danbucholtz, не могли бы вы предложить мне какой-либо временный обходной путь, чтобы сократить время начального рендеринга до официального решения. потому что мне было предложено два варианта: либо нужно исправить эту проблему, либо отказаться и построить то же самое с собственным кодом.

Привет @dheran!

К сожалению, в настоящее время мы не предлагаем обходных решений, потому что у нас их нет 😄 Пожалуйста, помните, что мы находимся на стадии бета-тестирования и ждем от Angular, чтобы компиляция и минификация офлайн-шаблонов была в хорошем состоянии, чтобы мы могли имитируйте то, что они делают. Для нас чрезвычайно важно как можно скорее приступить к процессу сборки, но он еще не готов.

Спасибо,
Дэн

+1

Мы можем подождать до rc4, но, пожалуйста, сохраните высокий приоритет компиляции офлайн-шаблона. К вашему сведению, начальное время для нашего приложения составляет около 8 с, но начальное время для другого нативного приложения составляет около 1-4 с. Нам действительно нужно сократить начальное время.

Наконец, спасибо за работу.

@grapemix Это определенно высокий приоритет! Мы постоянно работаем с командой Angular, чтобы обеспечить работу автономной компиляции шаблонов с Ionic вместе с встряхиванием дерева и агрессивной минификацией, чтобы мы могли значительно уменьшить средний размер нашего приложения. Как упоминалось выше, есть некоторые изменения в Angular, которых мы ждем прямо сейчас, но они обязательно будут выполнены (:

+1

+1

@ jgw96 @danbucholtz, ребята, есть в этом прогресс? можем ли мы исправить ситуацию в бета-версии 11?

+1

В каком репозитории вы, ребята, отслеживаете это
Думаю, смогу немного помочь по поводу webpack

@prijindal ,

Я считаю, что @ jthoms1 работает над этой веткой.
https://github.com/driftyco/ionic/tree/adding-offline-template-compiling

Спасибо,
Дэн

Привет @ jthoms1 , будут ли изменения объединены с мастером до бета 11?

Да, я тоже ждал офлайн-компиляции, но сейчас кое-что можно сделать.
Наш сайт полностью работает на бета-версии Ionic2.
http://m.sherpadesk.com/

У меня тоже есть гибридное приложение, я сделал некоторые оптимизации и получил время загрузки 417 мс .
Посмотрите отчет https://tools.pingdom.com/#!/DW6Td/http://m.sherpadesk.com/17
Также размер сайта уменьшился на 600% (3Мб -> 500 Кб)
Скорость отклика при взаимодействии с пользователем увеличена на 2000% (2 секунды -> 100 мс)

Хорошие рекомендации: http://blog.angular-university.io/how-to-run-angular-2-in-production-today/36

Я опубликую все свои настройки gulp и ссылку на магазин приложений здесь: http://www.sherpadesk.com/blog/

@Evgeniynet очень мило.

Несколько вопросов:

  1. При установке приложение открывается мгновенно, но файл. Я загружаю ваш профиль, и кажется, что он завис на 5 секунд. Почему?
  2. Как вы оптимизировали время загрузки без автономной компиляции?
  3. Ваш мобильный сайт - ionic2?
  4. Ваш десктопный сайт ionic2?

Я подумываю об использовании ionic 2, но единственное, что меня останавливает, мне нужно для управления проектом webapp + мобильным проектом ionic2.

Спасибо

@evgeniynet , это обслуживается узлом?
Вроде бы предварительно скомпилирован. Но в большинстве случаев это будет хостинг устройств хранения данных (приложение phonegap).

@dheran , нет, он размещен на веб-сайте Azure, только простые файлы html и js, созданные с помощью задачи сборки ionic 2 gulp.

@ justme1

  1. да, я проделал трюк с http://www.bennadel.com/blog/3105-creating-a-pre-bootstrap-loading-screen-in-angular-2-rc-1.htm

Ваш мобильный сайт - ionic2?
да

Ваш десктопный сайт ionic2?
да

Мое приложение для iOS просто загружает сайт в веб-просмотр, не более того.

только одна кодовая база для iOS, Android и Windows Phone, веб-приложение, расширение Chrome и даже Apple iWatch

Я установил специальный флаг, чтобы остановить загрузку кордовы, чтобы предотвратить ошибку gap: //

Я пишу полное руководство по этому поводу на

@evgeniynet

  1. В этом случае загрузка кажется не очень быстрой :-)

Относительно одной кодовой базы:

Насколько я понял, ionic2 не предназначен для использования в качестве настольного веб-сайта, поскольку он полностью поддерживается браузерами. Вы не возражаете против этого вопроса?

Рассчитывайте на то, что я буду ждать появления этой функции.

Привет, есть новости по этому поводу?
Я использую версию:
Кордова CLI: 6.3.0
Версия Ionic Framework: 2.0.0-beta.10
Версия Ionic CLI: 2.0.0-beta.35
Версия Ionic App Lib: 2.0.0-beta.19
LG Nexus 5 (ОС 6.0)
Учебное приложение Sidemenu v1 загружается за 3 секунды
--v2 загрузка бокового меню за 6 секунд

В бета-версии 12 появится функция предварительной компиляции. Это значительно ускорит начальную загрузку и значительно уменьшит размер пакета. Мы собираемся запустить бета-версию 11, так что это дальше. Это наш приоритет №1. У нас он работает над веткой, так что мы близки.

Спасибо,
Дэн

это действительно медленно в первый раз. ждем оптимизации

@danbucholtz или кто-либо добавит эту проблему в этап 12-й бета-версии

@danbucholtz можем ли мы использовать код ветки? Извините, не могу дождаться релиза beta 12 .. :-(
Пожалуйста, дайте нам быстрое освобождение ..

@dheran ,

Это изменение требует Angular RC 5, которого еще нет. Мы выпустим его, как только будет готова бета-версия 12. Мы не собираемся выпускать, пока он не будет готов.

Хорошим краткосрочным исправлением может быть переход на использование встроенных шаблонов, как показано ниже. Это будет быстрее в краткосрочной перспективе. Попробуйте и посмотрите, не ускорит ли это ваше дело.

@Component({
   template: `
   <ion-content>
      <div>content</div>
   </ion-content>
  `
})
export MyClass {
}

Спасибо,
Дэн

@danbucholtz Inline действительно очень помогает.
Я написал небольшой код в моем gulpfile.js, который делает это во время сборки.

gulp.task('build', ['build:prequel'], function(done) {
  glob('./www/build/**/*.html', function(e,files) {
    var indexPath = './www/build/js/app.bundle.js'
    var js = fs.readFileSync(indexPath, 'utf8');

    async.eachSeries(files, function(file, callback) {
      filename = file.substr(6)
      var html = fs.readFileSync(file, 'utf8');
      js = js.replace("templateUrl: '" + filename + "'", "template: `" + html +"`")
      callback()
    }, function() {
      fs.writeFile(indexPath, js, 'utf8', function(err, data) {
        done()
      });
    })
  })
})

Да, это не чисто и не лучший способ сделать это.
Но это работает как шарм.

PS: Встраивание не очень помогает при первоначальном запуске, возможно, не более 0,5 секунды. Но это, безусловно, делает его более плавным при переходе между страницами или при динамической загрузке компонента.

@prijindal ,

Спасибо,
Дэн

Привет, я заглянул на страницу Angular и увидел, что выпущен RC5. Что вы имели в виду под «до выхода rc5»?

@kLkA , @dheran Дайте команде Ionic отдохнуть - они уверены, что стараются выпустить бета-версии как можно быстрее, и ежедневный пинг им никак не помогает. Они работают напрямую с Google над Angular и определенно должны знать, что Angular2 rc5 отсутствует.

Да, и Google выпустил rc 5 всего несколько часов назад.
Я уверен, что они в курсе о выпуске и работают над тем, чтобы перевести его в бета-версию 12.

@astec правда? надеюсь, вы не в нашем положении.
Эта проблема мешает нам начать работу. Ты в этой должности?
Если вы внимательно прочитаете мой комментарий. Я спросил команду Ionic, могут ли они выпустить патч AoT (danbucholtz сказал, что это было сделано в отдельной ветке) в качестве быстрого выпуска вместо патча AoT + другие исправления ошибок без приоритета. Если это не является для вас приоритетом и наши комментарии рассылали вам спам, я предлагаю отказаться от подписки.

@dheran , я был на вашем месте в какой-то ранней бета-версии, думая, что она почти готова, и мое приложение почти готово к выпуску. Но я устал бороться с изменениями API / поведения. С тех пор Parse.com объявил, что они закрываются, и мне нужно переписать свою систему авторизации. Поэтому я решил отложить это в сторону и переключился на разработку бота Telegram + FB для своего приложения. Я сочувствую вашей ситуации, но это то, что вы получаете, когда запрыгиваете на бета-фургон. Если вам нужна гарантированная временная шкала, вы можете выбрать Ionic1 или любую другую платформу, не являющуюся бета-версией. Я сам вернусь к разработке приложения Ionic2, как только мы получим 1-й релиз-кандидат. Или хотя бы Beta12. Либо я переоцениваю сложность «предварительной компиляции», либо вы ее недооцениваете. В любом случае, я не собираюсь больше никого учить здесь терпению - примите мои извинения и удачи в ваших начинаниях.

Это не ветка о ваших потребностях и опыте. Пожалуйста, придерживайтесь темы или оставьте как есть. 👍

С нетерпением жду ionic2 beta12. Всего наилучшего :)

Привет @dheran! Мне очень жаль, и я определенно чувствую ваше разочарование, мы изо всех сил работали, чтобы это заработало, и я с радостью могу сказать, что сейчас мы очень близки, и он будет в версии beta.12 вместе с несколькими другими критическими ошибками исправления. Мы бы хотели выпустить это раньше, но последние несколько недель мы работали с angular, чтобы исправить некоторые ошибки на их стороне, из-за которых компиляция aot не работала. Нам также потребовалось некоторое время, чтобы, во-первых, оптимизировать Ionic для новой компиляции aot, а во-вторых, внести все изменения, необходимые для работы с Angular 2 RC5. Причина, по которой мы не можем рекомендовать вам использовать ветку, упомянутую выше, заключается в том, что задачи gulp для фактического создания вашего приложения еще не полностью выполнены. Таким образом, хотя технически вы могли бы его использовать, на самом деле вы не сможете создать свое приложение. Мы уже некоторое время работаем с предварительной версией Angular 2 rc5, но нам нужно дождаться, когда этот выпуск станет общедоступным, как и все остальные, прежде чем мы почувствуем себя комфортно, выпуская выпуск, который включает его. Мы все еще находимся в стадии бета-тестирования, а это означает, что работа ведется и будет меняться, и это всего лишь название игры, когда речь идет о бета-версии программного обеспечения. Наконец, при общении с другими членами сообщества не могли бы вы помнить о нашем кодексе поведения ? Спасибо за использование Ionic! Кроме того, если вы когда-нибудь захотите увидеть, над чем работали, вы можете ознакомиться с нашими заметками о встречах (которые также публикуются в твиттере) и нашей дорожной картой .

Я не уверен, но, возможно, основной прогресс в ускорении работы ionic происходит в ветке ngmodule . Я ошибся?

Хорошее место @msaelices ! На самом деле, большая часть этого фреймворка сейчас делается здесь https://github.com/driftyco/ionic/commit/deeplinks-ngmodule . Спасибо!

Для меня проблема не в начальной загрузке (как при начальной загрузке), а в том, что каждый раз, когда пользователь переходил на страницу, которую он не посещал.

В ожидании, пока этот компилятор AoT перейдет на ionic, я добавил экран _splash_ (просто ионную страницу с логотипом приложения на нем) с именем TemplatePrecompiler который принимает все компоненты (любые @Component моего приложения, независимо от того, ионная это страница или компонент) и компилирует их один за другим во время выполнения. Как только это будет сделано, я перехожу на домашнюю страницу.
Это действительно полезно, потому что пользователь просто видит экран-заставку, который занимает некоторое время (~ 5 секунд для моего приложения), но как только он полностью загружен, все экраны работают быстро. И вы даже можете разместить индикатор выполнения на этом экране-заставке.

Я создал здесь суть: https://gist.github.com/voliva/eb0242743661000896054601af72d1fd

Просто чтобы сообщить всем, мы активно над этим работаем. Это были большие усилия, чем мы ожидали, но мы движемся вперед и приближаемся. У нас есть ветка, которая почти на двести коммитов опережает master, в которой есть все изменения, необходимые для AoT 😄

Скоро это будет. Мы подошли к тому моменту, когда мы начинаем тестировать это изнутри. Мы еще не готовы к публичному тестированию. Это наша первоочередная задача, и вся команда разработчиков фреймворка усердно работает над этим, чтобы сделать это правильно. Сроки пока нет, но я могу сказать, что мы приближаемся к этому, и я продолжу обновлять эту ветку новой информацией по мере ее поступления.

Спасибо,
Дэн

+1

а мой app.bundle.js - 3,8 МБ, большой ...

+1
Во сколько выпустить beta12?

Что касается подхода @prijindal к помещению шаблонов в Компонент, будет ли это тот же уровень оптимизации, который ожидается от автономной компиляции?
Я пробовал этот подход, он экономит время HTTP-запросов на выборку шаблона, но все еще есть задержка при загрузке первого просмотра. Я предполагаю, что это происходит потому, что angular компилирует пользовательский html шаблонов при первой загрузке просмотра.

Я новичок в angular, и я был бы признателен, если бы кто-нибудь разъяснил мне это.

@moatazelgamal ,

Компиляция AoT приведет к значительному ускорению. Для заблаговременного запуска компилятора для типичного приложения требуется несколько секунд, так что это время, сэкономленное во время выполнения. Трудно сказать, насколько это будет быстрее для типичного приложения. Мы протестировали его только на очень простом образце, и время запуска увеличилось с ~ 3 секунд до ~ 300 мс. Мы не провели достаточного тестирования, чтобы знать, какие числа будет видеть типичное приложение, но оно наверняка будет быстрее.

Изменения для AoT внесены в структуру (мы думаем ... пока все хорошо 😄), и теперь мы переходим к тому, чтобы сделать процесс сборки A) простым, B) масштабируемым и C) как можно быстрее. Мы с командой работаем над этим вместе в этом репо .

Ожидайте услышать больше в ближайшее время.

Спасибо,
Дэн

@moatazelgamal мой подход - это не автономная компиляция, это просто встраивание шаблонов.
Автономная компиляция значительно ускорит начальную загрузку.

Все,

Сейчас мы интенсивно тестируем это внутри компании. На этой неделе мы добились больших успехов.

Спасибо,
Дэн

Привет,
Я вижу, что был выпущен Ionic2 RC0. Это ожидаемая beta12? В журнале изменений RC0 ничего не упоминается о компиляции AOT. Я думаю, что эта функция слишком хороша, чтобы ее пропустить в журнале изменений :)

Он был «выпущен». Мы все еще заполняем пробелы прямо сейчас 😄 журналом изменений и т. Д. Ожидайте официальных подробностей позже сегодня. Вчера мы столкнулись с техническими трудностями, поэтому немного отстаем.

Спасибо,
Дэн

Привет, команда Ionic! Спасибо за ваш тяжелый труд!

Так взволнован по этому поводу. Не могу перестать писать в Твиттере с тех пор, как впервые прочитал об этом.
Kudos ionic team.

В чт, 29 сентября 2016 г., 04:19 gisinaction [email protected] написала:

Привет, команда Ionic! Спасибо за ваш тяжелый труд!

-
Вы получаете это, потому что подписаны на эту беседу.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/driftyco/ionic/issues/6776#issuecomment -250346182,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AAxEjznTYrcKZKFD2rElIqKkWrGIvvUrks5quxIvgaJpZM4Iuokt
.

Прежде всего, спасибо за большой прогресс!
Я тестировал новую версию, и теперь загрузка проходит быстрее.

Я также тестировал его на Android 4.4.4 с низкими характеристиками, чтобы лучше почувствовать разницу в производительности и сравнить его с Ionic 1.
С Ionic 2-rc0 я нахожу следующие приблизительные результаты:

| Проект | Холодная загрузка | Горячая загрузка |
| --- | --- | --- |
| ionic1-tabs | 4,5 с | 3 с |
| ionic2-tabs | 5 с | 3,5 с |
| ionic1-sidemenu | 5 с | 3,5 с |
| ionic2-sidemenu | 5 с | 3,5 с |
| часы (родное приложение) | 1 с | <1 с |

  • Проекты, созданные с помощью этих команд:
ionic start myTabs1 tabs
ionic start myTabs2 tabs --v2
ionic start mySidemenu1 sidemenu
ionic start mySidemenu2 sidemenu --v2

Хотя проекты не являются одними и теми же реализациями, они дают нам отправную точку для сравнения.

Даже с ionic 2-rc0 базовым проектам требуется около 5 секунд для загрузки на холоде и около 3,5 секунд, если они уже были загружены ранее. Это примерно те же времена, что и в версиях Ionic 1.
Сообщение в блоге, которое представляет Ionic2 RC0, содержит анимированный gif, показывающий текущее время загрузки. Примерно 3 секунды.

Знаем ли мы, на что потрачены оставшиеся секунды? (например, запуск движка Javascript / веб-просмотра, плагины Cordova, загрузка Angular 2, ...)?

Можно ли оптимизировать эти секунды, чтобы они были ближе к нативным приложениям?

@SynerG , отличная информация. Сейчас я немного завален другими вещами, но скоро у нас будет больше отзывов. Спасибо, что собрали это вместе!

Спасибо,
Дэн

Я создал новый проект ionic2 rc-0 с боковым меню. Я использовал ionic serve --lab, и когда я щелкаю значок в левой части панели заголовка, меню не появляется. только когда я сдвигаю или нажимаю кнопку переключения меню, которая скользит

@danbucholtz Я хотел поблагодарить команду Ionic за выпуск RC0! Несмотря на то, что мне пришлось потратить некоторое время на перенос приложения из-за всех изменений, время запуска моего приложения значительно улучшилось! Например, на 3-летнем Samsung Galaxy 4 время запуска с бета-версией 11 составляло ~ 6 секунд, а RC0 сократился до ~ 3 секунд! Это отличное улучшение, так хорошо сделано :)

@abhayastudios , w00t! Спасибо!

У нас также есть больше улучшений и оптимизаций!

Спасибо,
Дэн

Время загрузки тоже сократилось примерно на 50%. Отличная работа, ребята. Мне действительно нравится работать с этим фреймворком.

Я знаю, что это не помогает, но я недавно погрузился в ionic и использую 2.0.0-rc.2, я заметил, насколько медленной была начальная загрузка по сравнению с приложением, которое было построено на 1.1.1.

@geocine Я заметил то же самое, в более старом приложении v1 время запуска очень хорошее, но хотя Ionic v2 обеспечивает гораздо более удобную среду программирования, время запуска в моем приложении очень медленное (> 5 секунд в сборке релиза на относительно быстрое устройство с Android 6.0). Сборка Webpack сотрясает дерево?

Если для загрузки действительно требуется время, возможно, есть способ хотя бы показать заставку, которую я могу показать менее чем за секунду во время загрузки?

@geocine Вот почему вы обычно используете плагин заставки cordova (https://github.com/apache/cordova-plugin-splashscreen) и скрываете его на устройстве.

Есть ли простой способ профилировать время запуска приложения? Я использую удаленный отладчик Chrome для профилирования приложения, однако это позволяет мне подключаться к приложению только после того, как оно уже инициализировано (поэтому я не могу профилировать запуск), и оно закрывается, когда я выхожу из приложения, поэтому я не могу перезапустить его и профилировать запускать таким образом.

Я спрашиваю об этом, потому что у меня проблемы с временем запуска моего приложения на Android, которое превышает 5 секунд.
Даже когда я использую простое учебное приложение Ionic 2, оно запускается только через 4-5 секунд на относительно производительном устройстве (Sony Z3 compact, 6.0.1).
Это действительно медленно (мое старое приложение Ionic 1 с несколькими плагинами запускается менее 3 секунд).

Есть ли планы (значительно) сократить время запуска приложения Ionic 2?
Разрабатывать с Ionic 2 - это здорово, но боюсь, что иначе мне придется перейти на другой фреймворк :-(

Планируется ли добавить поддержку отложенной загрузки, это также может помочь сократить время начальной загрузки. Angular cli, который использует веб-пакет, теперь поддерживает отложенную загрузку, а с AoT хорошо разработанное угловое приложение может значительно сократить время загрузки. Поскольку Ionic также использует веб-пакет, я думаю, что это можно сделать и для Ionic.

срочные потребности в отложенной загрузке.

Документ встречи группы ionic сказал, что они работают с treehaking , так что, вероятно, это уменьшит размер пакета и немного ускорит время загрузки.

Встряхивание деревьев - это здорово, но это не так. Ленивая загрузка - это отдельная важная проблема, и до сих пор команда ionic не проявляла к ней особого интереса в соответствии с комментариями, которые я видел в других вопросах (например, https://github.com/driftyco/ionic/issues/8102 ). К сожалению, многие люди думают, что это полезно только в веб-приложениях, хотя оно также может быть невероятно полезным и в мобильных приложениях.

@ rob3c и другие,

Мы смотрим на отложенную загрузку и хотели бы узнать больше. Ожидайте услышать больше по этой теме в ближайшие месяцы.

Спасибо,
Дэн

@danbucholtz ,
Помимо отложенной загрузки, изучаете ли вы какие-либо другие решения, которые могут значительно сократить время запуска?

Прямо сейчас это причина номер 1, по которой мы не применяем Ionic 2 в новых проектах.
Я не знаю, могли бы вы поделиться с нами некоторой информацией о том, что находится в процессе.
Спасибо!

Ну, это проблема с javascript в целом, а не только с ionic. Интересно посмотреть, что с этим делают другие фреймворки. Например, я наткнулся на связанную статью на веб-сайте «конкурирующей» платформы, использующей так называемое «кеширование кода» в движке v8 для значительного повышения производительности при запуске.

Время запуска значительно ухудшилось после того, как Angular 2 перешел на модули из-за AoT. В NativeScript, у которого также есть проблемы с длительным временем запуска, кажется, что без Angular 2 все нормально (https://github.com/NativeScript/nativescript-cli/issues/371). В июне мое приложение запускалось относительно быстро, но после того, как Ionic 2 перешел на более новую версию Angular 2, теперь это занимает> = 5 секунд, и это непригодно для производства. Знаете ли вы о каких-либо улучшениях Angular 2, которые разрабатываются для улучшения этого, или это единственный способ - дрожание деревьев и ленивая загрузка?

@Кобзол ,

Это странно, но AoT определенно приводит к значительно более быстрому запуску (как правило, во всяком случае, я уверен, что есть крайние случаи).

@SynerG ,

Время запуска AoT довольно быстрое. Вы уверены, что тестировали AoT? Размер нашего пакета по-прежнему относительно велик, и мы работаем над его уменьшением. Однако он не совсем большой, если вы не импортируете кучу больших библиотек. Часто небольшие библиотеки становятся огромными из-за множества вложенных зависимостей.

Спасибо,
Дэн

Я не знаю, делаю ли я что-то не так, но я попытался запустить AOT prod-сборки стартового шаблона учебного пособия Ionic 2 как с веб-пакетом, так и с накопительным пакетом, и для запуска на моем устройстве требуется> 5 секунд (Sony Z3 Compact с Android 6.0.1), тогда как более старое приложение Ionic 1 запускается через 3 секунды.
Запуск ухудшился за последние пару месяцев, когда Angular 2 перешел на модульную систему (то же самое произошло с моим приложением nativescript, которое замедлилось после переключения Angular). Возможно, в этом поможет отложенная загрузка.

Есть ли у вас какие-нибудь контрольные цифры, которые я мог бы использовать для сравнения?

5 секунд - это не так уж и плохо по сравнению с тем, что я видел. Мне пришлось увеличить время ожидания в config.xml, чтобы убедиться, что он не истекает (по умолчанию 20 секунд!).

Однако это было для более медленного устройства 4.4. На Sony Xperia E5 с 6.0 это еще 10-15 секунд.

iPhone 7 Plus меньше 2 секунд.

Насколько велики ваши пакеты? Вы используете много сторонних библиотек?

Спасибо,
Дэн

Привет, Дэн!

Я не думаю, что ничего слишком сумасшедшего.

Размер моего пакета с использованием веб-пакета и AoT составляет 1,9 МБ.

Зависит в package.json

...
  "dependencies": {
    "@angular/common": "2.2.1",
    "@angular/compiler": "2.2.1",
    "@angular/compiler-cli": "2.2.1",
    "@angular/core": "2.2.1",
    "@angular/forms": "2.2.1",
    "@angular/http": "2.2.1",
    "@angular/platform-browser": "2.2.1",
    "@angular/platform-browser-dynamic": "2.2.1",
    "@angular/platform-server": "2.2.1",
    "@biesbjerg/ng2-translate-po-loader": "^0.1.3",
    "@ionic/app-scripts": "0.0.46",
    "@ionic/storage": "1.1.6",
    "@ngrx/core": "1.2.0",
    "@ngrx/effects": "2.0.0",
    "@ngrx/store": "2.2.1",
    "angular2-uuid": "1.1.0",
    "ionic-angular": "nightly",
    "ionic-native": "2.2.7",
    "ionicons": "3.0.0",
    "ng2-translate": "^4.1.0",
    "ngrx-store-freeze": "0.1.4",
    "ngrx-store-logger": "0.1.7",
    "pofile": "^1.0.2",
    "rxjs": "5.0.0-beta.12",
    "zone.js": "0.6.26"
  },
  "devDependencies": {
    "@biesbjerg/ng2-translate-extract": "^0.1.1",
    "@ionic/app-scripts": "0.0.46",
    "@types/cordova-plugin-media": "0.0.3",
    "del": "^2.2.2",
    "fs": "0.0.1-security",
    "path": "^0.12.7",
    "typescript": "2.0.10"
  },
  "cordovaPlugins": [
    "cordova-plugin-device",
    "cordova-plugin-console",
    "cordova-plugin-whitelist",
    "cordova-plugin-splashscreen",
    "cordova-plugin-statusbar",
    "ionic-plugin-keyboard",
    "cordova-plugin-globalization",
    "cordova-plugin-media",
    "cordova-plugin-file",
    "cordova-plugin-compat",
    {
      "locator": "https://github.com/EddyVerbruggen/cordova-plugin-backgroundaudio",
      "id": "nl.x-services.plugins.backgroundaudio"
    },
    "cordova-plugin-app-version",
    "cordova-plugin-x-socialsharing",
    {
      "locator": "https://github.com/biesbjerg/cordova-plugin-inapppurchase.git",
      "id": "cordova-plugin-inapppurchase"
    },
    {
      "locator": "https://github.com/driftyco/cordova-plugin-wkwebview-engine.git",
      "id": "cordova-plugin-wkwebview-engine"
    },
    "cordova-plugin-google-analytics",
    "cordova-sqlite-storage"
  ],
...

Привет,
Я также хотел бы поделиться своей информацией со временем запуска.
Собственно ставлю свой старый Ionic V1 на V2 (переписывая все с нуля).

У меня старое приложение с пешеходным переходом запускается (в зависимости от устройства) от 3 до 4 секунд.
Новому приложению требуется от 6 до 7 секунд (более вероятно, что 7 секунд).

Я пробовал RC3, а также ночную сборку (версия Ionic Framework: 2.0.0-rc.3-201612021933)

Package.json:
{
  "name": "ionic-hello-world",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "2.2.1",
    "@angular/compiler": "2.2.1",
    "@angular/compiler-cli": "2.2.1",
    "@angular/core": "2.2.1",
    "@angular/forms": "2.2.1",
    "@angular/http": "2.2.1",
    "@angular/platform-browser": "2.2.1",
    "@angular/platform-browser-dynamic": "2.2.1",
    "@angular/platform-server": "2.2.1",
    "@ionic/storage": "1.1.6",
    "ionic-angular": "^2.0.0-rc.3-201612021933",
    "ionic-native": "2.2.3",
    "ionicons": "3.0.0",
    "moment": "2.15.1",
    "rxjs": "5.0.0-beta.12",
    "zone.js": "0.6.26"
  },
  "devDependencies": {
    "@ionic/app-scripts": "0.0.44",
    "typescript": "2.0.9",
    "webpack-bundle-analyzer": "^1.5.3"
  },
  "cordovaPlugins": [
    "cordova-plugin-whitelist",
    "cordova-plugin-statusbar",
    "cordova-plugin-console",
    "cordova-plugin-device",
    "cordova-plugin-splashscreen",
    "ionic-plugin-keyboard"
  ],
  "cordovaPlatforms": [],
  "description": "o2: An Ionic project"
}

Папка с моими активами (сторонние плагины / изображения) составляет около 2,14 МБ.
Я использую 6 различных сторонних плагинов (jQuery, moment, hammer, jquery 3.1, fullcalendar, svg-panzoom, fontawesome).

Размер APK: 6,58 МБ.
В распакованном виде этот пакет составляет: 15 МБ.

Складывание:

  • активы: 10,1 МБ
    -> www / assets: 2,93 МБ
    -> www / build: 7,07 МБ
    -> www / build / main.js: 3,003 МБ
    -> www / build / main.js.map: 3,790 МБ (это нужно для производства?)
  • разрешение: 1,73 МБ
  • class.dex: 3,07 МБ
  • resources.arsx: 0,13 МБ

Информация о ионной версии:

Your system information:
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.3-201612021933
Ionic CLI Version: 2.1.13
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.44
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 8.1
Node Version: v6.9.1
Xcode version: Not installed

Может быть, это поможет, если бы вы @danbucholtz / @ jgw96 могли использовать мой настоящий проект для отладки этой проблемы, я был бы счастлив поделиться им (частным).

Привет
ГРАФЕФРУТ

Я считаю, что исходные карты должны быть отключены для производственной сборки. Angular CLi недавно добавил возможность отключить его https://github.com/angular/angular-cli/pull/3262

Graphefruit, не могли бы вы также поделиться количеством компонентов и директив, которые есть в вашем приложении?

Привет @ naveedahmed1!
вот так:

  • услуг: 10
  • трубы: 3
  • страниц: ~ 49
  • custom-config: 1
  • директивы: 0 (;))

Привет
ГРАФЕФРУТ

@ naveedahmed1 Эта проблема связана с отказом от встраивания исходных карт, что, как я согласен, вероятно, не лучшая идея в продакшене. Однако файлы внешних карт для производственных активов могут быть полезны и лишь добавляют небольшой комментарий к развернутым файлам. Я определенно хотел бы иметь возможность создавать файлы внешних карт для производственных сборок.

@ rob3c ,

Его можно будет настроить.

Спасибо,
Дэн

@danbucholtz , нам действительно нужно улучшить время загрузки. Даже приложение для ионной конференции, загруженное из игрового магазина, на моем Samsung Galaxy S4 Android версии 5.0.1 занимает 9-10 секунд.
Это приложение, которое я скачал --- https://play.google.com/store/apps/details?id=io.ionic.conferenceapp

Время загрузки моего приложения с несколькими страницами составляет около 7-8 секунд на том же телефоне.

Итак, я попытался привязать меня через Developer-Tools и получил довольно хороший результат по временной шкале.
Я не мог отслеживать с самого начала, потому что прикрепил, но вы видите, что происходит:
image

Сценарий компиляции занимает около 500 мс, сценарий оценки - от 0 мс до 5000 мс.

При необходимости @danbucholtz @ jgw96 я могу отправить вам сохраненный график для этого.

Как вам удалось это профилировать? Я не могу подключиться к приложению, пока оно не запустится полностью.

Кстати, я не знаю, хороший ли это результат для вас, но, к сожалению, для моего клиента время запуска> 5/6 секунд неприемлемо.

@Kobzol это тоже нужно 7 секунд ~.
Что я сделал: откройте страницу, посмотрите список подключенных устройств, запустите приложение в первый раз в обычном режиме, откройте «инспектор», переключитесь на вкладку временной шкалы
Закройте приложение сейчас и инспектор, теперь снова запустите приложение, нажмите кнопку проверки, нажмите на вкладке шкалы времени очень быстро кнопку записи;)
Первые 1-2 секунды, когда приложение запускается, я тоже не могу подключиться, но остальное можно сделать быстрыми пальцами.

Обновление: с Ionic1 у меня было время запуска 3-4 секунды, что было вполне приемлемо для меня.

Вы строите с помощью AoT ? Те времена кажутся медленными.

Спасибо,
Дэн

@danbucholtz , В моем случае я загрузил приложение ionic-Conference-app из магазина воспроизведения, почти уверен, что оно будет скомпилировано AOT, пожалуйста, посмотрите мои комментарии здесь

@savanvadalia ,

Мы вытащили его из игрового магазина, потому что на самом деле он не был связан с AoT. Перед публикацией наш разработчик допустил ошибку. Скоро мы переиздадим новую версию.

Можете ли вы установить последнюю версию ionic CLI и скриптов приложений?

npm install -g ionic<strong i="9">@latest</strong>
npm install @ionic/app-scripts<strong i="10">@latest</strong>

А затем запустить ionic build android --prod --release ? Это даст вам сборку AoT с оптимизированным APK. Он должен запускаться намного быстрее, чем 9 секунд, даже на медленном устройстве.

Спасибо,
Дэн

@Dan, на каких устройствах вы это тестируете? Даже с каждым обновленным пакетом я не могу получить менее 6 секунд, и, судя по тому, что я видел здесь, другие испытывают аналогичный опыт.

Кому-нибудь удалось установить последние приложения-скрипты?

Проблемы с обновлением:

Если я попытаюсь установить последние скрипты приложений, я получаю следующую ошибку: (Я уже устанавливал ionic @latest раньше)

C:\Users\graphefruit\Documents\o3>npm install @ionic/app-scripts<strong i="9">@latest</strong>
ionic-hello-world@ C:\Users\graphefruit\Documents\o3
`-- @ionic/[email protected]  invalid
  +-- [email protected]
  +-- [email protected]
  `-- [email protected]
    +-- [email protected]
    `-- [email protected]

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\ch
okidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@
1.0.15: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"
})

После этого я начал совершенно новый проект ionic start o4 --v2 с той же ошибкой.

Может быть, у меня нет механизма обновления - мне нужно влезть в package.json или мне нужно удалить папку node_modules ?
Я попытался обновить установленные вручную скрипты приложений и запустить npm install, но он разбился.
Также пакет package.json не обновлялся автоматически до 0.47

Итак, теперь я создаю проект с 0.0.45 и --prod --release

_ И время запуска тоже было 7-8 секунд. _

@danbucholtz Я думаю, что всегда использовал AOT до сих пор, поскольку я помню, что где-то видел файлы ngfactory. В настоящее время я все еще немного сопротивляюсь переходу на более новую версию скрипта приложения, поскольку моя текущая версия 0.0.46 хорошо справлялась со мной. Но в любом случае я верю вам на слово, обновлюсь до 0.0.47 и дам вам знать, что произойдет.

Саван

@danbucholtz Я обновился до последних сценариев ionic-app-scripts и начал получать эту ошибку (см. снимок экрана ниже).
Также я строго следовал процедуре обновления, упомянутой в примечаниях к выпуску.

Не могли бы вы помочь с этим?

image

Спасибо
Саван

@graphefruit У меня не было проблем с установкой последней здесь . Но, как я уже упоминал выше, я получаю другую ошибку времени выполнения «Неожиданное значение 'undefined', объявленное модулем 'AppModule'».

Также запуск 0.0.45 с --prod --release не поможет. Дэн попросил запустить это с версией 0.0.47 начиная с 0.0.47 и в некоторых случаях это будет способ создания производственной сборки. В предыдущих версиях ionic-app-script ionic run android по умолчанию генерировал производственную сборку.

@savanvadalia Спасибо за отзыв, в процедуре написано
Я также начал новый проект и раньше делал npm install -g ionic@latest .
Значит, вы только что выполнили обе команды в папке своего проекта? Или вы сделали что-то конкретное?
Как я уже сказал, я уже пытался удалить папку node_modules , а потом сделал npm-install .
Но, на мой взгляд, это не поможет, если package.json не обновится до последней версии скриптов приложений. 0.47 но когда я делаю это вручную, вылетает еще больше ...

Обычно они публикуют в журнале изменений новейший package.json и информацию о том, что нужно обновить.

Обновить, наконец, удалось решить эту проблему с помощью следующих команд:

npm install ionic-angular<strong i="18">@nightly</strong> --save
npm install @ionic/app-scripts<strong i="19">@latest</strong> --save-dev

Пусть начнется сборка.

Тест сборки

Итак, сборка прошла, забавный факт - мне нужно было "strg + c", потому что ngc-start показывался более 10 минут, после этого сборка была продолжена, второй раз она запустилась без проблем.

Размер: 9,2 МБ
main.js.map все еще существует при сборке для производства

Для запуска приложения требуется 7-10 секунд (в зависимости от устройства), поэтому похоже, что все было хуже, чем раньше.
(Примечание 1, Примечание 2)

На Google Pixel XL время запуска составляло от 4,5 до 5 секунд.
По сравнению с моей старой версией приложения он все еще на 1-2 секунды медленнее (время запуска 3,5 секунды).

Your system information:

Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.3-201612142137
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.47
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 8.1
Node Version: v6.9.1
Xcode version: Not installed

Обновление 2:

Я только что сравнил размеры из старой сборки с 0,45 и 0,47 - у main.js (почти ~ 10 КБ) такой же размер - 3 МБ. - Не знаю, должно ли это повлиять и на это.

Обновление 3:

Это лучший снимок после 15-минутной попытки загрузки:
image

@danbucholtz Мне

Однако после исправления ошибки и запуска ionic run android --prod --release на моем Samsung Galaxy S4 Android версии 5.0.1 начальная загрузка все еще составляет 7-8 секунд. После обновления до последних версий ionic-app-scripts исходный текст не изменился.

Нам действительно нужно сократить время начальной загрузки. Я лично не думаю, что телефон и версия Android, которые я использую, относительно старые, чтобы иметь такое медленное время загрузки. Я был бы счастлив где-то между 3-4 секундами загрузки на старых телефонах среднего класса.


@graphefruit , я сделал 2 шага, не упомянутых в процедуре релиза
1) Я вручную изменил файл package.json, чтобы изменить версию скрипта на 0.0.47 а затем запустил npm install.
2) Я также удалил каталог .tmp, который не подходит для нового процесса сборки в соответствии с примечаниями к выпуску.

В остальном я просто выполнил процедуру освобождения.

Вы используете последнюю версию ionic cli? Вы можете проверить? npm install -g ionic@latest .

Можете ли вы запустить npm run ionic:build --aot и убедиться, что ngc запущен в терминале? Когда вы запускаете ionic run android --prod --release , вы видите ngc в терминале?

Спасибо,
Дэн

Привет @danbucholtz!

да, я вижу ngc при запуске - prod --release.
Также я устанавливал ionic @latest более 4 раз;) через cmd без каких-либо ошибок - возможно, нам нужно изменить некоторые настройки в package.json - они не обновлялись сами по себе.
Также я установил nightly, чтобы увидеть разницу.

Вторую команду я могу попробовать запустить завтра утром.

Привет
ГРАФЕФРУТ

@danbucholtz

Да, я использую последнюю версию ionic-cli (см. Информацию о моей рабочей среде в конце)
Я также вижу ngc в терминале в обоих случаях, которые вы упомянули, см. Снимок экрана для каждого из них.
1) npm run ionic:build --aot
2) ionic run android --prod --release

1) Сборка
image

2) Производственная сборка во время работы на устройстве

image

Для меня по-прежнему нет разницы в начальном времени загрузки, которое составляет 7-8 секунд 😞 😞

cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.47
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.9.1
Xcode version: Not installed

@savanvadalia долгое время загрузки может быть специфическим для вашего приложения. Было бы полезно, если бы вы попытались указать числа для начального приложения или приложения для ионной конференции, чтобы цифры были сопоставимы.

Также есть смысл перейти на ионно-угловой RC4.

@danbucholtz Care, этот пост будет немного длиннее:

Мой / Индивидуальный проект

npm run ionic:build --aot
image

ionic run android --prod --release
image

ionic build android --prod --release
image

Еще 10 секунд время загрузки.

Стартовое приложение

@astec После того, как вы спросили, я установил стартовое приложение.
И сделал то же самое здесь.

  1. npm install -g ionic@latest
  2. ionic start o5 --v2
  3. ionic info
Your system information:

Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.4
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.47
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 8.1
Node Version: v6.9.1
Xcode version: Not installed
  1. ionic platform add android
  2. npm run ionic:build --aot
    image
  3. ionic run android --prod --release
    image

  4. Раз:
    7.1 Примечание 1 - Android 4.1 - стартовый проект занял от 5 до 5,5 секунд
    7.2. Примечание 2 - Android 7.0 (CM14) - стартовый проект занял от 5,5 до 6,5 секунд

Конференция - приложение

Итак, следующая попытка: я загрузил стартовое приложение: https://github.com/driftyco/ionic-conference-app

  1. npm install
  2. ionic info
    image

-> Похоже, этого нет на rc.4, из-за этого

  1. Я изменил package.json, как указано в журнале изменений.
"dependencies": {
  "@angular/common": "2.2.1",
  "@angular/compiler": "2.2.1",
  "@angular/compiler-cli": "2.2.1",
  "@angular/core": "2.2.1",
  "@angular/forms": "2.2.1",
  "@angular/http": "2.2.1",
  "@angular/platform-browser": "2.2.1",
  "@angular/platform-browser-dynamic": "2.2.1",
  "@angular/platform-server": "2.2.1",
  "@ionic/storage": "1.1.6",
  "ionic-angular": "2.0.0-rc.4",
  "ionic-native": "2.2.11",
  "ionicons": "3.0.0",
  "rxjs": "5.0.0-beta.12",
  "zone.js": "0.6.26"
},
"devDependencies": {
  "@ionic/app-scripts": "0.0.47",
  "typescript": "2.0.9"
}
  1. удалено node_modules
  2. npm install
  3. ionic info
    image
  4. ionic platform add android
  5. npm run ionic:build --aot
    image
  6. ionic run android --prod --release
    image
  7. ionic build android --prod --release
    image
  8. Время запуска
    11.1 Примечание 1 - Android 4.1 - 7-8s
    11.2 Примечание 2 - Android 7 (CM 14) - 7 - 8,5 с

Время измерялось "щелчком по значку приложения" до появления экрана с контентом.
Таким образом, даже приложению конференции с последней версией требуется 7-8 секунд, так что это не проект специальной версии.
Даже в этом случае приложение для конференций все еще очень маленькое, без большой активности в Интернете или файловой системы html-5.

Надеюсь это поможет.
Привет
ГРАФЕФРУТ

@ jgw96 , можете ли вы взвесить вышесказанное? Джастин - наш постоянный эксперт по Android. Моя первоначальная мысль - это действительно старые (7-го поколения) телефоны, и это может сыграть решающую роль, но я полагаюсь на Джастина.

Спасибо,
Дэн

FWIW У меня есть Sony Compact Z3, который на самом деле не так уж и стар, и времена примерно такие же на Android 6.x.

@ jgw96 @danbucholtz Я установил его сейчас на свой Google Pixel - время запуска приложения для конференции - от 3,5 до 4 секунд.
Интересный факт: у меня было 10 раз запускаться до 8-10 секунд - затем я удалил и снова установил приложение, и время снова уменьшилось до 3,5-4 секунд.

@graphefruit да, но переустановка не может быть правильным способом. ;-)
Интересно (профилирование) было бы, если бы столько времени было потрачено и как быстро другие (угловые) фреймворки (Ionic 1, OnsenUI и т. Д.) Запускали простое приложение "hello world" на том же устройстве.
Время запуска приложения RC4 conf на моем (не слишком старом) Moto G2 составляет около 6 секунд: - /

@mpaland Это правда, это будет неправильный путь, но иногда предоставление всей информации, которую вы нашли, - лучший способ, и надеюсь, ionic сможет их использовать.
Как я уже упоминал в некоторых сообщениях ранее - я портирую свое приложение Ionic1 на Ionic2, время запуска было от 3 до 4 секунд.
Портированный проект на том же устройстве занимает 7-8 секунд.

HTC One M8 (Android 6.0 - Vanilla)

Итак, после вашего предложения я установил проект Ionic1:

  1. ionic start myproject
  2. ionic platform add android
  3. ionic build android
  4. Ionic1 - Стартовое время на HTC One M8 (Android 6.0) составило около 2,5 секунд.
  5. Ionic 2 - Приложение для конференций - Время начала: 5 секунд
  6. Ionic 2- Starter App - Время начала работы: 4 секунды
  7. Ionic 1 - Мой индивидуальный проект: 4 секунды
  8. Ionic2 - Мой индивидуальный проект: 7 сек.

Шок! - Игнорируйте это предложение.

Таким образом, даже со стартовым приложением в ionic 2 разница все еще составляет около 1,5 секунды.
HTC One M8 был выпущен в марте 2014 г.

Moto G (Android 5.1)

Итак, вот и следующее устройство - Moto G - Android 5.1.

  1. Ionic1 - от 4,5 до 5,5 сек.
  2. Приложение Ionic 2- Conference: от 8,5 до 10,5 с
  3. Ionic 2 - Стартовое приложение: от 6 до 6,5 с
  4. Ionic 1 - Мой индивидуальный проект - 5,5 - 6 сек.
  5. Ionic 2 - Мой кастомный проект - 7-8 сек.

Как видите, разница по-прежнему составляет 1,5 секунды, приложению конференции требовалось намного больше времени.
Moto G был выпущен в ноябре 2013 года.

Так что я думаю, что теперь это должно ответить на все вопросы.

_И да: каждый проект в ionic2 был скомпилирован с RC4 и appscripts 0.0.47 - прежде, чем кто-нибудь спросит _

Вы используете последнюю версию Ionic CLI? Насколько велик ваш комплект? Можете ли вы скомпилировать его с помощью всего лишь npm run ionic:build --aot и убедиться, что platformBrowserDynamic НЕТ? --aot должен пропустить минификацию, но по-прежнему дать вам сборку AoT.

Спасибо,
Дэн

@danbucholtz Я проверю и дам вам обновление через 15 минут ... - Возможно, я сделал ошибки, за последние 2 часа для этого поста много компилировалось = / извините

Имейте в виду, что platformBrowserDynamic должен в основном запускать ngc в браузере при запуске приложения. В конечном счете, независимо от того, используете вы AoT или нет, вы по-прежнему используете файлы .ngfactory.js в браузере. В ваших предыдущих сообщениях это занимает примерно ~ 20 секунд. Итак, 20 секунд компиляции в браузере + 5 секунд запуска = долгое время.

5 секунд - это еще очень долго. Что-то здесь не так.

Спасибо,
Дэн

@danbucholtz Привет снова, дан! Мне жаль. Я установил последние скрипты, но команда npm run ionic: build --aot не была доступна в моем пользовательском проекте. - Я уже обновил свой пост сверху.

Итак, я создал новый проект, скомпилировал и подписал, и теперь время запуска вернулось к 7 секундам.

_ Я хотел бы упомянуть, что все остальные проверки_ - конференция / стартовое приложение были все с ionic: build --aot, и я могу проверить, что platformBrowserDynamic находится там NOT .
Я извлек все ZIPS и заглянул в main.js .

Еще раз извините.

@graphefruit прилагает большие усилия для создания такой статистики на различных устройствах 👍
@danbucholtz @ jgw96 , как

Если время загрузки не совпадает, возможно, мы делаем что-то не так с нашей сборкой, в чем я действительно сомневаюсь.

@danbucholtz Так было со времен RC.0, я сомневаюсь, что кому-то удавалось запустить Android менее чем за 5 секунд. Время запуска Ionic 1 лучше, чем Ionic 2.

Не могли бы вы изучить это и провести профилирование?
Я знаю, что вы сначала пытаетесь убедиться, что мы используем правильную процедуру для создания приложения, но эта проблема не сильно менялась в последние месяцы, и когда несколько пользователей сообщают об этом, это, вероятно, не будет вызвано плохое использование скрипта сборки.
Пять (и это лучший сценарий здесь) или более секунд для запуска - это стопор для практически любого приложения для Android.

Моя статистика:
Sony Z3 Compact Android 6.0.1 - AOT / prod / minified build (2 MiB JS bundle) запускается за 6 секунд как с Crosswalk, так и без него. На более медленных устройствах это занимает гораздо больше времени (пользователи, тестировавшие мое приложение, сообщили о 10 и более секундах).

@danbucholtz Не

Всем привет! Большое спасибо за подробную диагностику и информацию о тестировании. Это наш приоритет №1 прямо сейчас, и хотя некоторые из нас здесь не видят длительного времени загрузки, другие зависят от устройства / ОС / и т. Д. Мы сужаем его, любая дополнительная информация всегда приветствуется.

@mlynch Хотя это и не пропавшие 5 секунд, возможно, стоит сэкономить время

https://github.com/driftyco/ionic-storage/issues/54

У меня внутреннее ощущение, что одна из ионных библиотек (хранилище) инициализируется дважды ... (а не один раз). Я могу ошибаться, но все же, охотясь за приростом производительности при запуске, бросаю это на рассмотрение, особенно если здесь есть более широкая проблема

Привет,
Я тестировал другое устройство:

Nexus 7 (2012 г.) - Android 4.1

Ionic 1 - Starter-App: 4 секунды
Ionic 2 - Конференц-приложение: 7 секунд
Ionic 2 - Стартовое приложение: 5,5 сек.
Ionic 1 - Мой индивидуальный проект - 5,5 сек.
Ionic 2 - Мой индивидуальный проект - 8,5 сек.

Может быть, я смогу предоставить сегодня вечером еще один тест от Ulefone-Metal с Android 6.0.

Привет
ГРАФЕФРУТ

После обновления Ionic до 2.1.17 и запуска ionic run android --prod значительно улучшилась, и мое приложение запускается в течение 2–3 секунд. Не знаю, что изменилось, но я очень этому рад. : смайлик:

@PrithiviRajG Не могли бы вы поделиться дополнительной информацией?

  1. Насколько велико ваше приложение?
  2. ionic info - Информация
  3. package.json - Информация
  4. установленные плагины / сторонние библиотеки
  5. Какое устройство вы используете?
  6. Можете ли вы также проверить это с помощью starter-app и ionic conference app ?
    заранее спасибо
    ГРАФЕФРУТ

@graphefruit

  1. Мой размер Apk - 7 МБ, размер папки WWW - 7,88 МБ, папка плагинов - 67,1 МБ, папка ресурсов - 1,01 МБ
  2. ionic info
 ordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.2
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.39
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 7
Node Version: v6.7.0
Xcode version: Not installed

  1. package.json
{
  "name": "ionic-app-base",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "build": "ionic-app-scripts build",
    "watch": "ionic-app-scripts watch",
    "serve:before": "watch",
    "emulate:before": "build",
    "deploy:before": "build",
    "build:before": "build",
    "run:before": "build"
  },
  "dependencies": {
    "@angular/common": "2.1.1",
    "@angular/compiler": "2.1.1",
    "@angular/compiler-cli": "2.1.1",
    "@angular/core": "2.1.1",
    "@angular/forms": "2.1.1",
    "@angular/http": "2.1.1",
    "@angular/platform-browser": "2.1.1",
    "@angular/platform-browser-dynamic": "2.1.1",
    "@angular/platform-server": "2.1.1",
    "@ionic/cloud-angular": "0.5.2",
    "@ionic/storage": "1.1.6",
    "angular2-swing": "^0.10.0",
    "ionic-angular": "2.0.0-rc.2",
    "ionic-native": "2.2.3",
    "ionicons": "3.0.0",
    "rxjs": "5.0.0-beta.12",
    "zone.js": "0.6.21"
  },
  "devDependencies": {
    "@ionic/app-scripts": "0.0.39",
    "typescript": "2.0.3"
  }
}

  1. Установленные плагины
cordova-plugin-device
cordova-plugin-facebook4
cordova-plugin-googleplus
cordova-plugin-nativeaudio
cordova-plugin-splashscreen
cordova-plugin-statusbar
cordova-plugin-whitelist
ionic-plugin-keyboard
angular2-swing
  1. Информация об устройстве: MOTO G 1-го поколения - Android 5.1

    1. в ближайшее время протестирует стартовое приложение и ионную конференцию и сообщит вам об этом.

@PrithiviRajG Спасибо за информацию. похоже, вы не в курсе последних событий:

Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.2
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.39
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 7
Node Version: v6.7.0
Xcode version: Not installed

-> Вы используете RC2, а не RC4 - также ионные скрипты теперь на 0.0.47.

Но может это указание на @ jgw96 ?

Привет,
Я тестировал другое устройство:

Ulefone Metal (Android 6.0)

Ionic 1 - Starter-App: 3,5 сек.
Ionic 2 - Конференц-приложение: 5 секунд
Ionic 2 - Стартовое приложение: 4,5 - 4,7 сек.
Ionic 1 - Мой индивидуальный проект - 5 секунд
Ionic 2 - Мой индивидуальный проект - 7 секунд

Привет
ГРАФЕФРУТ

@mlynch Из любопытства просто хочу знать, что улучшение начального времени загрузки,
будет ли это исправлено как часть текущей работы @danbucholtz по встряхиванию дерева ИЛИ это будет отдельное исправление для Android?

Я узнал о работе Дэна из заметок о встречах, мне нравится работать с вами, ребята. Не могу поверить, насколько прозрачна команда с фреймворками. :сердце:

@savanvadalia ,

Мы никогда не закончим попытки сделать Ionic быстрее.

Прямо сейчас мы сосредоточены на правильной работе встряхивания дерева и получении поддержки компилятора замыкания. Закрытие может создавать значительно меньшие пакеты JS, чем альтернативы, что приводит к более быстрой загрузке. Мы также изучаем разделение кода прямо сейчас, чтобы сократить время, необходимое для загрузки и анализа javascript.

Спасибо,
Дэн

@danbucholtz Приятно это слышать. Как я могу способствовать тому, чтобы функции становились все быстрее?

В настоящее время я оцениваю интерфейсные и мобильные технологии для новых долгосрочных продуктовых линеек в области потребительского финансирования. Производительность начальной загрузки является важным фактором принятия решения.

Судя по недавнему тестированию небольшого приложения, производительность iOS / Android является приемлемой. Производительность загрузки в браузере тоже в порядке: позже я расскажу о рендеринге на стороне сервера. Наибольшее беспокойство вызывает производительность начальной загрузки, когда мы начинаем вводить больше страниц и сторонних модулей.

Есть ли способ показать заставку или какой-либо прогресс в начальной загрузке приложения Ionic2 / Webview?

Они средн. время загрузки приложения для меня составляет около 10 секунд. Это ухудшает взаимодействие с пользователем, когда людям приходится ждать около 10 секунд, чтобы загрузить приложение. Но мое приложение невелико.

Я использую npm run ionic:build --aot и ionic run android --prod для запуска на устройстве, и начальное время запуска стартового приложения составляет около 2 секунд, но когда я использую свой собственный проект, он приходит

Неперехваченная ошибка: не удается найти модуль "./app.module.ngfactory"

Я удалил node_modules и www, но это не работает.
когда я просто запускаю ionic run android , мой проект работает, но начальное время составляет около 7-8 секунд

вот моя ионная информация

Кордова CLI: 6.4.0
Версия Ionic Framework: 2.0.0-rc.4
Версия Ionic CLI: 2.1.18
Версия Ionic App Lib: 2.1.9
Версия Ionic App Scripts: 0.0.48
Версия ios-deploy: не установлена
версия для ios-sim: не установлена
ОС: Windows 10
Версия узла: v6.6.0
Версия Xcode: не установлена

Обновить
проблема решена понижением машинописного текста до "2.0.9"

Что бы я ни делал, устройство готово срабатывает через 5 секунд.

Все,

Чтобы дать обновление, мы внесли значительные улучшения в сам фреймворк, чтобы улучшить встряхивание дерева и удаление мертвого кода. Мы экспериментировали с компилятором разделения и закрытия кода и в таких случаях значительно уменьшили размер пакета. Ключевое слово - это эксперименты, и нам понадобится немного времени, прежде чем у нас будет что-нибудь готово для прайм-тайма. Мы очень тесно сотрудничаем с командой Angular по этой теме.

Closure Compiler - замечательный инструмент, но он может сломать многие сторонние библиотеки или даже ваше собственное приложение, если вы не будете следовать правилам, поэтому мы работаем над созданием простого, но надежного и гибкого интерфейса для разработчиков.

Уменьшение размера пакета, разделение кода и повышение скорости запуска - наш приоритет №1.

Спасибо,
Дэн

@danbucholtz это здорово! Я предлагал закрыть компилятор команде Angular CLI в прошлом. Может быть, можно было бы ввести переключатель, делающий компиляцию с использованием закрывающего компилятора необязательной. Те, у кого есть удобный для компилятора закрытия код, который может его включить, остальные могут скомпилировать его стандартным способом. Команда Ionic может убедиться, что основная библиотека Ionic и собственный Ionic полностью совместимы с компилятором закрытия. Кстати, не могли бы вы поделиться, какая лучшая скорость запуска вы можете достичь с / без компилятора закрытия?

http://hybridtonative.com , NativeScript все еще незрелый, однако он становится все более и более привлекательным, поскольку проблемы с ионами продолжают возникать, открытые тикеты сохраняются или растут, а технология веб-просмотра просто вращается вокруг себя, заставляя разработчиков работать над технологией вместо того, чтобы работать. с этим. Даже базовые задачи требуют огромного количества обходных решений, поиска проблем, большого количества обновлений кода, отслеживания изменений и обновлений, оставляющих производство на грязной основе бесконечной полировки, которая на самом деле является исправлением ошибок плохих вариантов дизайна и исправлением других плохих вариантов дизайна. В конце концов, мы расплачиваемся за это, и это становится сопоставимо с разработкой приложений для iOS и Android.

@barocsi гипербола много? Вы действительно понимаете, что Angular 2 и ionic находятся на переднем крае технологий, с которыми они работают, и работают над поиском наилучшего возможного курса действий для нас, разработчиков? Также имейте в виду, что v2 stable еще не выпущен.

@barocsi Если вы не довольны Ionic2, используйте Ionic1 или напишите собственное приложение angular.
Даже с вашим собственным угловым приложением вы столкнетесь со многими проблемами, которые ionic уже решает в их рамках.
Также этот фреймворк имеет открытый исходный код, и вы можете внести свой вклад; Если у вас есть проблемы со скоростью, над ним работают, или вы можете его разветвить и создать свой собственный ionic2-fork.
Я не хочу спорить или что-то ломать, даже если у Ionic2 есть релиз-кандидат, он только что вышел из цикла бета-релизов.
Поэтому, пожалуйста, дайте ему немного времени, и если вы не можете дождаться, возьмите ionic1 и используйте пешеходный переход, который уже несколько лет существует на этом рынке.

Спасибо за предложения, я думаю об альтернативах текущих и будущих решений. У нас уже есть несколько надежных и тяжелых приложений Ionic V1 и V2, а также почти 1,5 года борьбы и участия в решении проблем по всему этому репозиторию github. Несмотря на то, что это проионный тред, мы должны предвидеть, куда движется эта технология, даже если что-то помечено как передовое @dylanvdmerwe, это не означает, что сообщество будет настойчиво и необходимо честно оценивать, относиться к нему с терпением как и мы, этому потоку почти 6 месяцев, и он все еще имеет дело с важной и критически важной проблемой для производства.

Я могу понять ваши опасения, поэтому я использовал простой angularjs в своем собственном тяжелом приложении.
Проблема в том, что я все еще сталкивался со многими проблемами, потому что, если вы не пишете все самостоятельно или с нуля, вы рано или поздно доберетесь до этого.
У меня были большие проблемы с Angular-Material V1 (например, с производительностью), и мне нужно было самому копаться в структуре, остальное было написано самим на angularjs.
Но даже здесь я дошел до того, что выскочили проблемы с производительностью.
Поэтому мне нужно было потратить время на свою «собственную» структуру, чтобы найти и попытаться исправить их.
Так что я могу понять Ionic с их проблемами, потому что сам попал в эти проблемы.
Даже если это большая / крупная компания, у них также есть ограниченные ресурсы.

Следующее, что Ionic2 - это не просто приложение, он также предоставляет веб-сайт, он также поддерживает UWP (и это много проблем), а также поддерживает PWA.
Так много новых функций в одной платформе, которая в основном используется для приложений, но поддерживает и многие другие вещи.
Благодаря этим функциям возникает множество зависимостей и много проблем при копании в них.
Но ваши опасения приемлемы, но я скорее вижу проблемы в совершенно новой технологии, которая была выброшена на рынок, и Ionic пытается ухватиться за них и получает много зависимостей с ними.

@danbucholtz

Дэн, очень воодушевленный вашими комментариями, «экспериментирую» над разделением кода, компилятором закрытия, встряхиванием дерева и тем, что скорость запуска является текущим приоритетом №1 для ionic2 (4 января). Пример приложения для конференций ionic2 на Github - это хорошее простое приложение для тестирования производительности, которое все могут использовать для сравнения вашего прогресса. Надеюсь, ваша работа будет продвигаться хорошо (и быстро). В наши дни действительно требуется время запуска <= 3 секунды, иначе пользователи, скорее всего, «уйдут» - более 6 секунд, и они определенно «уйдут» навсегда.

Приложение для конференций, созданное с использованием --prod и запущенное на моем Nexus 7 (2013) Android 6.0.1, в настоящее время запускается примерно за 8 секунд (среднее время по секундомеру за несколько запусков).

Итак, впереди еще долгий путь, желаю вам успехов !!! - тем более, что мне очень нравится структура и возможности ionic2 с точки зрения опытного разработчика.

Фил

@barocsi Я понимаю вашу ситуацию, и на данный момент она действительно очень разочаровывает меня.
Подводя итог: мой проект приложения должен работать на Android, iOS и Win10 (настольный компьютер) и запускаться быстро, максимум 2 секунды - даже на старых (означает 2-летних) устройствах.
Я хочу писать на JS и HTML из-за большого количества библиотек и опыта. Это сужает поле до приложений WebView вместо собственных (Java, Obj C).
Мне нужен определенный аппаратный доступ, поэтому Кордова - хороший выбор. NativeScript, Appcelerator, OnsenUI без ng2 ... может быть, но мне эта идея совсем не нравится.

На данный момент я виню ng2 в этом огромном размере кода, и я не уверен, что правильный компилятор treehaking и closure значительно сократит время запуска (необходим фактор 4-5) для более крупного проекта. Нам нужно подождать и посмотреть ...

@mpaland Вы уже использовали Ionic1?
Я действительно хотел бы увидеть, как вы получаете время запуска 2 секунды - даже на старых устройствах.
Моему индивидуальному проекту без ionic1 также требуется время запуска около 3 секунд, и здесь я иду с:

  1. index.html
  2. min.css
  3. мин. js

Вот и все.

Вы уже достигли такой быстрой загрузки с помощью cordova (angular и т. Д.)?

@graphefruit , нет, я не пробовал Ionic 1 и еще ничего не пробовал, потому что я нашел Ionic 2 лучше всего подходящим для моего проекта. Как я уже сказал, я просто оцениваю разные варианты. ИМХО, WebView с JS по-прежнему является лучшим вариантом. Так что я с нетерпением жду прогресса команды ng и ionic.

@graphefruit
Я действительно надеюсь, что ionic2 наконец-то добьется запуска <= 3 секунд даже на старых устройствах. Я уже могу этого добиться с помощью другого гибридного фреймворка + кордова «из коробки». Тем не менее, я бы предпочел использовать ionic2, поскольку у него такая хорошая родословная, построенная на angular2, что, в свою очередь, дает ему отличную поддержку, документацию, возможности и т. Д. - все, что высоко ценит опытный разработчик, такой как я.

@philrob Чрезвычайно любопытно, какая другая Hybrid Framework + Cordova (включая все, что вам может понадобиться для вашего проекта) принесет вам менее 3 секунд. Пожалуйста, расскажи.

лордгрег
Не совсем подходящее место для введения других фреймворков. Я просто надеюсь, что команда ionic2 сможет добиться значительного сокращения времени запуска, что приблизит его к моему стремлению на <= 3 секунды.

Привет
Мое приложение ionic2 запускается еще 10 секунд, но приложение ionic1 занимает всего 4 секунды, как улучшить начальное время загрузки. Пожалуйста, предложите мне. Это очень важно

@philrob Серьезно, просмотрев другие комментарии, вы быстро заметите, что всегда есть сравнения. Черт возьми, они есть даже в этой ветке. То, что вы утверждаете, не является ложью, но объяснять, что ваше гибридное приложение, которое запускает не что иное, как jQuery (пример) внутри контейнера Cordova, открывается менее чем за 3 секунды, является полным абсурдом. Использование фреймворка, который не обрабатывает стили, или, по крайней мере, не так сложен, как Ionic, или он не полагается на какую-либо другую огромную библиотеку (angular2), все равно, что сравнивать ночь и день. В этом нет смысла.

@ mobinius-shreesha запустите проект как ionic build android --prod или ionic run android --prod чтобы получить время запуска как 5 секунд. работа в режиме отладки ionic run android увеличит время до более чем 10 секунд

лордгрег

Не думайте, что мы не согласны. Вот почему я сознательно решил использовать приложение для конференций ionic2 от Github (созданное с помощью --prod), чтобы указать время запуска (~ 8 секунд) специально для моего Nexus 7 (2013) Android 6.0.1. Очевидно, что если другой фреймворк может обеспечить более быстрое время запуска на том же оборудовании и по-прежнему предоставлять необходимые мне средства (включая стилизованные мобильные виджеты пользовательского интерфейса), то ДЛЯ МЕНЯ это актуально,

Я ПОВТОРЯЮ - мне действительно нравится ionic2 по всем другим важным причинам, которые я приводил ранее, просто хочу, чтобы скорость запуска значительно улучшилась. Думаю, нам нужно дать команде ionic2 необходимое время ...

Я также с нетерпением жду увеличения времени загрузки.

Я думаю, что команда Ionic проделала отличную работу, выпустив на прошлой неделе v1 скриптов ionic-app-scripts. Это значительно улучшило время сборки здесь, в моей среде.

Я уверен, что они поступят так же со временем загрузки приложения.

Думаю, проблема в другом: ionic v2 находится в состоянии rc. Однако это то, что должно уважать большинство разработчиков: документация Ionic со стороны команды Ionic предлагает любому новичку, что v2 - это то, что готово к производству. Не возражаю, это так. Даже документация теперь по умолчанию установлена ​​на v2.

Это обманчивое поведение команды, добровольно или нет, является результатом давления со стороны отрасли. Единственная продолжительная жизнь Ionics зависит от разработки чего-то продвинутого с большой базой разработки (js + angular2) до того, как сообщество переключится на другую развивающуюся кроссплатформенную технологию, например, упомянутую мной ранее: Nativescript

Таким образом, команда Ionic должна предположить, что v2 является версией де-факто для Ionic. Но в этом случае цена может быть выше: развертывание продукта с критическими частями с ошибками без скорейшего исправления вызывает недоверие со стороны сообщества, что иногда более опасно, чем ждать еще пару месяцев, прежде чем позиционировать продукт как передовой. зрелое крупное обновление.

Разработчики должны действовать, и каждый шаг назад или отсутствие исправлений заставит их обратиться к другим решениям, чтобы защитить свое будущее и стабильность по отношению к своим клиентам.

Есть обновления по этому поводу? :)

@PrithiviRajG Спасибо за ваш ответ. Я могу запустить приложение в течение 10 секунд, но есть ли какие-либо обновления на ionic2 для улучшения времени загрузки. Когда они планируют выпустить полную версию ionic2. Есть ли у вас какие-либо идеи.

14,99 секунд холодной загрузки с текущими установленными плагинами и текущей ионной версией:

com-badrit-base64 0.2.0 "Base64"
com.synconset.imagepicker 2.1.7 «ImagePicker»
cordova-plugin-camera 2.3.1 "Камера"
cordova-plugin-compat 1.1.0 "Совместимость"
cordova-plugin-console 1.0.5 "Консоль"
cordova-plugin-device 1.1.4 "Устройство"
cordova-plugin-dialogs 1.3.1 "Уведомление"
cordova-plugin-nativestorage 2.2.0 "NativeStorage"
Кордова-плагин-безопасное хранилище 2.6.3 "SecureStorage"
cordova-plugin-spinner-dialog 1.3.1 "SpinnerDialog"
cordova-plugin-splashscreen 4.0.1 "Экран-заставка"
cordova-plugin-statusbar 2.2.1 «StatusBar»
cordova-plugin-whitelist 1.3.1 "Белый список"
ionic-plugin-keyboard 2.2.1 «Клавиатура»

Информация о вашей системе:

Кордова CLI: 6.4.0
Версия Ionic Framework: 2.0.0-rc.1
Версия Ionic CLI: 2.1.18
Версия Ionic App Lib: 2.1.9
Версия Ionic App Scripts: 0.0.48
версия ios-deploy: 1.9.0
версия для ios-sim: не установлена
ОС: macOS Sierra
Версия узла: v6.9.2
Версия Xcode: Xcode 8.2.1 Версия сборки 8C1002

@tryadelion текущая ионная версия - rc4, а не rc1.

Всем, давайте подождем RC5 или релиза, так как в этом плане должно быть много изменений.

как заставить ионное обновление до rc4? есть ли другие устаревшие вещи, которые могут вызвать мою задержку?

Для меня сложный проект в ionic v1 был 1,8 МБ build.js, в v2 базовый проект main.js увеличился до 6,7 МБ.
Добавление или удаление плагинов Cordova не обязательно влияет на время загрузки.

Всем привет! Мы собираемся закрыть эту проблему и заблокировать поток. На данный момент мы проделали большую работу по улучшению времени загрузки, скорости фреймворка и обеспечению его работы повсюду.

Это всегда будет движущаяся цель, и мы постоянно думаем о ней. Хотя эта проблема поначалу была полезной, с тех пор она сошла с рельсов и больше не является очевидной проблемой. Если у вас возникнут другие проблемы, откройте новую, указав всю запрашиваемую нами информацию.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги