2016-11-25 1 views
1

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

Как я уже сказал, все эти файлы будут представлены локально, а не на сервере, и меня беспокоит производительность.

+1

Обычно есть связанный обработчик, который объединяет все отдельные файлы в большой. Таким образом, можно поддерживать отдельные файлы, но передавать один большой файл клиенту. Тем не менее это зависит от вашего сайта в целом, если есть какие-либо заметные последствия. – Lain

+0

, как я уже сказал, это не веб-сайт, а мобильное приложение Cordova, файлы javascript будут представлены локально на устройстве. –

+0

Я согласен с @Lain, а также AndyLamb, однако я не думаю, что ответ Энди не должен был быть больше затем комментарий. Если вы хотите повысить производительность, взгляните на плагины Gulp и bundle.** Sidenote **: приложения Кордовы. Веб-сайты, работающие в контейнере мобильных приложений. Ничего особенного там, кроме нескольких действий JS, вы получаете доступ к таким вещам, как камера. – Randy

ответ

2

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

+0

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

+0

Не стремись «как можно быстрее» взаимодействовать с пользователем. Вместо этого стремиться к «достаточно быстрому» с точки зрения пользователей. Быстрое, безопасное и недорогое внесение изменений будет более ценным для вас и ваших пользователей в долгосрочной перспективе. –

+0

Я вижу, да, но я тоже хочу услышать другие мнения, так что пока не принимаю ответ –

0

У вашего приложения должен быть какой-то процесс сборки. Существует множество инструментов, помогающих автоматизировать этот процесс (gulp, grunt и т. Д.), Но вы можете пройти с помощью простых скриптов npm. Как вы создаете процесс сборки, здесь дело не в этом. Преимущества, однако, очень много:

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

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

    a. Если вы хотите, чтобы файлы были вложены в один большой файл, вы можете использовать упаковщик, например Browserify, Webpack или JSPM. Затем, в зависимости от параметров, которые вы передаете, ваша версия отладки может включать в себя необходимые исходные карты, чтобы облегчить отладку.

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

  3. Вы можете использовать хорошо установленные шаблоны модулей для создания модульного кода, который не загрязняет глобальное пространство имен (если вы используете что-то вроде Browserify, JSPM и т. Д.). Это означает, что вы можете сделать что-то вроде этого:

    // file: say.js 
    module.exports = { 
        hello: function hello() { 
         alert("hello"); 
        }, 
        goodbye: ..., 
        ... 
    }; 
    
    // file: index.js 
    var say = require("./say.js"); 
    say.hello(); 
    say.goodbye(); 
    

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

Do do выше, чтобы облегчить ваш рабочий процесс. Редактирование одного файла со ста тысячами строк - не забава - вы не хотите этого делать, поверьте мне.

Смежные вопросы