2015-02-13 3 views
0

Я начал разрабатывать библиотеку для веб-приложений.Как доставить веб-библиотеку

Теперь я вижу проблему при доставке нового приложения клиенту с полной библиотекой, потому что клиент получает всю библиотеку, но он не платил.

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

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

Что лучше всего подходит для решения этой проблемы?

ответ

0

До тех пор, пока вы разрабатываете JS для Интернета, вам все равно нужно публиковать исходный код библиотеки, потому что это единственное, что понимает браузер.

Единственный способ скрыть свой код от клиента - опубликовать двоичный файл без источника. В Интернете на стороне клиента это означает использование Java или ActiveX, которые в настоящее время являются довольно обреченными. И Java легко дешифруем.

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

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

+0

Последней точкой вашего ответа является стратегия, которую я хотел бы попробовать. До сих пор я вижу два способа разделить библиотеку. Первый раскол во время разработки. Это кажется очень уродливым. Во-вторых, чтобы создать подбиблиотеку во время сборки. Второй - хороший способ. Вероятно, это может быть достигнуто с ворчанием. Я просто не знаю, как и с чего начать. В библиотеке должно быть некоторое управление зависимостями, которое возможно для определения необходимых частей при сборке. Или похожие. Есть идеи по этому поводу? Или забудете второй путь и идите первым? –

+0

Автоматическая хирургия библиотеки Javascript, чтобы сохранить только то, что будет использоваться, является трудной проблемой для решения, поскольку Javascript является динамическим языком. Я не знаю о какой-либо существующей программе, способной это сделать. OTOH, превратив вашу библиотеку в набор компонентов, позволит вам включать необходимые компоненты один за другим, а затем, во время сборки, concat-then-minify фактически используемые js-скрипты для доставки их вашему клиенту. Это означает инвертирование зависимостей в каждом месте в коде вашей библиотеки, где набор компонентов известен в целом. (например, случай переключения на виджете) –

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