2011-01-24 3 views
7

Что такое хороший подход к разработке JavaScript API?Хорошая практика разработки JavaScript API

Я относительно новичок в JavaScript и изучении ключевых хороших особенностей языка, в основном из «JavaScript: хорошие детали». В настоящее время я разрабатываю веб-инструмент для обучения статистике. База кода становится неуместной частично, потому что я не понимаю, как создать JavaScript API.

Мой фон в Java и C++ и используется для проектирования интерфейсов, а затем для реализации этих интерфейсов независимо. Очевидно, что это плохо работает в JavaScript.

Спасибо за любую помощь и предложения.

Update: Окончательный вариант инструмента здесь: http://www.lock5stat.com/statkey/index.html

+2

Это может вас заинтересовать: http://ejohn.org/blog/building-a-javascript-library/ – karim79

+0

@ karim79 Спасибо, я искал что-то вроде этого. – Rich

+1

@ karim79, только что закончил смотреть, что говорить. Это было очень проницательно. – Rich

ответ

1

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

Вы можете написать свои приложения как дерево плагинов. Вы можете думать о плагинах как классы в C++/Java с агрегацией, но не наследования.

Заметки о коде: в функции MAIN.bootstrapPlot вы используете document.createElement, вы должны использовать JQuery, как и в остальной части кода, и проверить Canto library на холсте.

+0

Спасибо, что посмотрели мой код. :) – Rich

+0

Кроме того, спасибо за точку в Canto, улучшенный синтаксис и цепочки отлично. К сожалению, он не работал на IE; для меня это разбойник. – Rich

1

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

  1. Как вы отмечаете интерфейсы не имеет особого смысла в JavaScript, но это объектно-ориентированный, так что вы можете разделить функции на «классы», использование шаблонов проектирования и т.д.

  2. Документация , Вы можете документировать класс javascript так же, как вы документируете любой API.

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

Обратите внимание, что я помещаю «класс» в кавычки, потому что у javascript нет понятия как такового. Другое, что вы можете сделать, это посмотреть на существующие API, такие как Sencha или jQuery, чтобы получить некоторые идеи. Sencha чувствует себя как API, разработчик серверной части будет использоваться (посмотрите на свои документы).

+0

Просто примечание. Я смотрел рассказ Джона Ресига о API jQuery, в котором он убедительно утверждал, что принудительное использование JavaScript в среде OO для использования и документирование отнимает большую часть выразительной части языка. Интересно отметить, что он разработал документацию как документ XML из-за сложности документирования обратных вызовов, параметров, переданных функциям и т. Д. Спасибо за предложение напрямую посмотреть на API. Вот ссылка на XML-версию jQuery, которая является проницательным источником просмотра: http: //api.jquery.com/api/ – Rich

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