Возможно, вы захотите использовать что-то вроде Adapter Pattern. Создайте свой собственный интерфейс, раскрыв методы, которые вы будете использовать в своем приложении, а затем создайте адаптер для каждого инструментария, который вы хотели бы поддержать (jQuery, MooTools, YUI и т. Д.). Затем ваш собственный интерфейс будет маршрутизировать вызовы метода к конкретным адаптерам.
Если вам нужна поддержка нового инструментария, все, что вам нужно сделать, это написать новый адаптер, который переводит методы из вашего собственного интерфейса, в методы конкретного инструментария.
Это что-то, что в настоящее время делает Ext JS. Вы можете выбрать, какой адаптер использовать (jQuery, YUI и т. Д.) За вызовами метода. Например: Ext.getCmp()
будет использовать jQuery.$()
при использовании адаптера jQuery. Однако это часто не очень простое сопоставление «один-к-одному».
Ext JS начал свою жизнь как расширение библиотеки javascript Yahoo UI. В то время Ext использовал YUI для всего своего кросс-браузерного кода низкого уровня. Теперь, когда Ext является автономной библиотекой JavaScript, у вас есть выбор подменять YUI для других библиотек JavaScript, таких как Prototype или jQuery. Исходные файлы, отображающие низкоуровневый Ext API в других библиотеках JavaScript (или собственной базовой библиотеке Ext), называются адаптерами, и они живут в подкаталоге source/adapter. Когда вы добавляете Ext на свой сайт, вы выбираете, какой адаптер вы хотите использовать.
От: Ext JS Manual: Source Overview
Кажется, что ваша библиотека будет очень большой – epascarello