как управлять большими клиентскими веб-приложениями - PullRequest
2 голосов
/ 25 сентября 2010

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

При разработке я обнаружил, что почти весь мой код помещается в файл 1 .js и файл 1 .html, где у меня многоиз div'ов, которые я показываю и скрываю при необходимости.

Есть ли лучший способ организовать это?Является ли серверная часть oldschool лучшим способом сделать это?Также есть ли способ, чтобы 2 javascript-файла могли видеть содержимое друг из друга?Я думаю, как это работает, только второй может вызывать вещи из первого.

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

Ответы [ 3 ]

1 голос
/ 08 октября 2010

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

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

У вас есть этидва файла:

file1.js

var a = 'Cheers'; 
var b = ' and beers';

file2.js

alert(a + b);

Чтобы включить эти файлы в ваш HTML-файл

<code><script type="text/javascript" src="file1.js"></script>
<script type="text/javascript" src="file2.js"></script>

- это то же самое, что и

<code><script type="text/javascript">
  var a = 'Cheers'; 
  var b = ' and beers';
</script>
<script type="text/javascript">
  alert(a + b);
</script>

И это, фактически, то же самое, что и

<code><script type="text/javascript">
  var a = 'Cheers'; 
  var b = ' and beers';
  alert(a + b);
</script>

Обратите внимание, что инвертирование порядкаисходные файлы, подобные этому

<code><script type="text/javascript" src="file2.js"></script>
<script type="text/javascript" src="file1.js"></script>

, сгенерируют

<code><script type="text/javascript">
  alert(a + b);
  var a = 'Cheers'; 
  var b = ' and beers';
</script>

, и вы получите исключение времени выполнения (a не определено).

Итак, да, вы можете иметь несколько js-файлов и упорядочивать свой код.Я обычно делаю это, имея в своем классе один класс javascript, как в Java.

Удачи:)

1 голос
/ 11 октября 2010

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

Javascript автоматически сможет видеть контент в других скриптах, т.е.

<script src="firstScript.js"></script>
<script src='canReadPreviousScripts.js"></script>

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

Я работаю над приложением JS среднего размера, которое можно посмотреть здесь: http://explore.travellr.com

Если вы проверите источник, то увидите, что там более десятка файлов, так как они все еще находятся в разработке. Как только он будет готов к производству, файлы (кроме платформы, MooTools) будут объединены и упакованы в архив.

Надеюсь, это поможет!

0 голосов
/ 25 сентября 2010

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

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

...