Приложение для визуализации JavaScript - организация кода, базовая версия mvc, настольная версия и т. Д. - PullRequest
9 голосов
/ 03 мая 2011

Я собираюсь разработать веб-приложение JavaScript для визуализации, которое будет содержать закладки для различных графиков с аннотациями и т. Д.
Типичным примером может быть: При заданном состоянии url показать два SVG-графика и ползунок времени для манипуляции вместе с некоторыми информативными аннотациями, размещенными здесь и там.

Традиционно (без написания JS в течение некоторого времени) я бы попробовал какой-то модульный подход JS:

src   
   data
   chart
       chartType1
       chartType2
       chartType3
   layoutManager
   stateManager
   utils
lib
   d3?
   backbone?
   jquery?

... отключение обработки данных, некоторых служебных функций, диспетчера состояния и расположения и т. Д.

Но из-за множества библиотек, возможно, мне стоит взять лошадей и попробовать новый подход?

Код организации?
- Как выше или больше, как MVC, как?
- Какие-либо конкретные шаблоны, которые будут полезны?
(псевдокод высоко ценится)

Состояние обработки / Модели?
- Backbone.js
- JavaScriptMVC

Просмотры
- Есть ли хорошие примеры JS для приложений, использующих библиотеки SVG (D3, Raphaël и т. Д.) Вместе с фреймворком mvc?

Компилятор / Minifier
- Google Closure Compiler
- джеммит

IDE
- Aptana Studio 3
- Netbeans
- Другое?

Настольная версия? (критерии: хранение данных, возможность обновления и т. Д.)
- ВОЗДУХ
- хром встраиваемый
- XULrunner
- титановый ускоритель
- другие варианты?

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

Ответы [ 2 ]

1 голос
/ 15 июня 2011

Если вы уже хорошо знаете MVC, вы могли бы отлично работать с Backbone. Было так много неизвестного о том, как организовать внешний интерфейс javascript, мы пошли с JavascriptMVC, который принимает множество решений за вас.

Не уверен, почему я бы использовал IDE. TextMate и консоль отлично работают для меня. NetBeans выглядел хорошо, когда я играл с ним. JetBrains RubyMine - это высочайшее качество и, безусловно, лучшая IDE, но она коммерческая.

EDIT Да, JMVC не стоит того, что он предоставляет. Магистраль элегантна и проста. Единственная проблема - если вы новичок в структурировании кода, так как вы должны определить структуру своего кода. Если вы используете rails, просто скопируйте организацию вашего приложения rails: маршрутизаторы / Просмотры/ шаблоны / модели /

И отдельный файл для каждого класса, конечно. Затем используйте что-нибудь, чтобы требовать всего, Sprockets, если вы на Rails 3.1 или вам действительно это нравится, или Jammit, если вы на 3.0.x.

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

(На самом деле «this» - это «окно» на верхнем уровне, поэтому вы можете объявить его как: класс @Classname )

Удачи!

0 голосов
/ 06 мая 2011

Код организации? - Я делаю MVC, как в рельсах (приложение / представления, помощники, контроллеры, модель) - рамки должны быть сгруппированы вместе ИМО

Состояние обработки / Модели? - Backbone.js определенно.

Просмотров? - Я не знаю насчет библиотеки. Для общих базовых представлений и шаблонов я построил этот https://github.com/juggy/backrub, который заботится об обновлении представлений на основе событий из вашей модели / представлений. Это экономит много клеевого кода.

Компилятор / Minifier? - Google Closure Compiler - джеммит

Я использую Jammit с компилятором замыкания в качестве бэкэнда. Jammit позволяет эффективно группировать / разбивать файлы.

IDE? Чем лучше, тем лучше.

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

...