2012-02-03 3 views
6

Я создаю библиотеку в AS3. Внутри библиотеки я использую кучу классов/пакетов, которые не должны быть доступны конечному пользователю моей библиотеки. Я хочу только разоблачить один из этих классов.Как упаковать библиотеку в ActionScript3 (.jar эквивалент?)

Я думаю, мои вопросы:

1) Как библиотеки обычно распределяются в AS3?

2) Есть ли в AS3 эквивалент .jar, который могут включать разработчики, но будет иметь доступ/знание классов, которые я объявлял публичными?

Спасибо!

+0

@see: http://stackoverflow.com/questions/6041832/what-is-the-best-way-to-distribute-as3-classes-and-packages/6045196#6045196 – JonnyReeves

ответ

5

Библиотеки AS3 называются SWC. Как и JAR, они представляют собой только ZIP-архивы с включенными метаданными. Вы можете создавать библиотеки либо с помощью проектов библиотеки Flash Builder, либо с помощью компилятора mxmlc в Flex SDK, который описан, например, here.

Хорошая практика заключается в распространении SWC или исходного кода. Конечно, с документами или файлом readme.

+0

Возможно ли создать SWC-файл без использования фреймворка Flex? Я просто хочу barebone AS3. –

+0

это не так, если у вас нет Flash IDE. – Lucas

+4

@ AndyHin, вам нужен компилятор Flex для создания SWC, но вам не нужно включать фреймворк Flex (он не будет, если вы не ссылаетесь на него в своем коде). –

3

Возможно ли создать файл SWC без использования фреймворка Flex? Я просто хочу голые кости AS3.

Да, мы не вынуждены использовать flex, на самом деле Adobe даже официально не поддерживает Flex как свой продукт, так как теперь это проект Apache с открытым исходным кодом. http://blogs.apache.org/flex/

Сам компилятор для флэш-памяти является открытым исходным кодом и доступен для использования, поэтому существует множество сторонних IDE и средств разработки, которые также могут создавать библиотеки SWC. Для создания swc компилятор просто требует специального xml-файла в zip-файле. Поэтому, если вы хотите избежать этого вручную для спецификации, это просто вопрос выбора способа gui для этого.

Один из самых популярных в мире с открытым исходным кодом gui way atm. Я считаю, что Flash Develop http://www.flashdevelop.org/ имеет плагин, чтобы делать то, что вы хотите. http://www.flashdevelop.org/community/viewtopic.php?f=4&t=2987 Настоящая IDE настоятельно рекомендуется, но если вам нужна что-то более перекрестная платформа, я рекомендую Intellij Idea, которая является отличным as3 и java ide, так как вы знаете, что такое файлы jar.

«есть только доступ/знание классов, которые я объявил публичными?»

Классы в вашем swc не будут отличаться от того, чтобы быть частью вашего основного проекта, поэтому, если вы создаете swc с открытым или открытым, он будет публичным или приватным таким же образом. Если честно, хотя большинство кодов, разделяемых блогами и репозиториями в сообществе, являются только сырыми * .as-файлами, swc удобен, однако для общих библиотек в команде и может сделать это более организованным.

+1

, файл .swc - это только ZIP-папка, содержащая .swf со встроенным кодом .as и XML-файлом. вы можете переименовать mySwc.swc в mySwc.zip, а затем разархивировать его, чтобы открыть это содержимое. Кроме того, здесь вы можете получить доступ к.swf для декомпиляции с использованием одного из нескольких бесплатных декомпиляторов флэш-памяти, поэтому использование .swc в качестве средства защиты вашего кода легко обойти. – TheDarkIn1978

+0

Да, это явно не предназначалось для «защиты» вашего кода. Кажется, что защита вашего кода as3 в целом может быть достигнута только путем усложнения, а не невозможности повторного использования другими. Изучите инструменты, которые запутывают и изменяют swf вашего скомпилированного кода. – imp

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