Pull to refresh
9
0
Yuri Strot @ystrot

CTO at exyte

Send message

Несколько затянули с примерами, но тем не менее теперь они доступны тут: https://github.com/exyte/Macaw-Examples

Obj-C версию не планируем, но насколько я знаю, сейчас нет никаких проблем использовать Swift из Obj-C кода.

Морфинг у нас есть в планах, но его можно сделать средствами Cocoa: https://developer.apple.com/reference/quartzcore/cashapelayer. Если вопрос в том, как сделать морфинг самому на Android, тогда можно посмотреть в Raphael, там вроде был свой и достаточно неплохо работал: https://github.com/DmitryBaranovskiy/raphael/

Мы на этой неделе запустим отдельный репозиторий с примерами на Macaw, в том числе и с таблицей Менделеева. Могу кинуть вам ссылочку, как только он будет доступен.
Я так понимаю вы про секцию Building from sources? Тогда вы вероятно запустили не Example.xcworkspace, а .xcodeproject.
К сожалению, андроидом мы пока не занимаемся, а потому и необходимости в подобной библиотеке не было.
С производительностью всё очень хорошо. Статическая часть сцены рисуется средствами Core Graphics. Динамические же элементы во время анимации выделяются в отдельные слои и анимируются нативно, используя Core Animation. В ближайшее время подготовим бенчмарки, чтобы не быть голословными.
Неожиданно своевременный вопрос :-) Я совсем недавно ушёл из «евангелистов» Фантома и переключился на Кложу. У Фантома при всех его плюсах есть один большой недостаток — его никто не использует. А по Clojure буквально на днях прошёл хакатон, в котором я с огромным удовольствием принял участие. Можно почитать подробнее, если интересно.
Интерпретатор какого байткода? Fantom конечно же умеет интерпретировать свой байткод, он это и делает во время исполнения :-)

Не очень понял ваш второй вопрос, но может быть вам будет достаточно поиграть с Fantom online?
На самом деле в Java нет ни того, ни другого. Иммутабельность в Fantom гарантируется компилятором, и это не аналог final в Java, это настоящая иммутабельность. Например, константный список может содержать только константные элементы. В Java вы не можете такого гарантировать. В Fantom константность можно определить на уровне интерфейса и тогда его смогут реализовывать только константные типы, никаких внутренних состояний. Даже замыкания делятся на константные и не константные в зависимости от того, используют ли они изменяемое окружение.

В Fantom нет примитивов синхронизации вообще. Никаких мониторов, локов, synchronize-блоков и так далее. Новичок не сможет вызвать дедлок случайно поставив «synchronized» в неправильном месте. Все статические переменные обязаны быть иммутабельными. Потоков в явном виде тоже нет, они могут создаваться только для акторов. И вот уже на базе всего этого строятся акторы. Они мало бы чем отличались от потоков, если бы могли одновременно менять один и тот же объект. В Fantom такого не может быть, поскольку у них есть только внутреннее thread-local состояние и константные объекты, которыми они могут обмениваться со внешней средой.

Справедливости ради стоит заметить, что в Fantom поддержка многопоточности не такая крутая, как, например, в Clojure. Нет персистентных структур данных и нет STM. Но это скорее из-за того, что пока не было большой потребности.
Насчёт запуска Tales в jetty я, к сожалению, не знаю. Хотя даже если этого ещё нет, я не думаю, что это слишком сложная задача, учитывая возможности Fantom. Кроме того, на сколько я помню в Play 2 с этим всё ещё проблемы.

Fantom может использовать Java, кроме того у него есть встроенный простой веб-движок, который уже давно запускается в любом контейнере сервлетов.
Одно из главных достоинств Fantom — это его простота и схожесть с Java/C#. У меня есть опыт обучения новых людей этому языку и могу вам сказать совершенно точно — гораздо проще найти людей, способных освоить Fantom, чем тех, кто может писать многопоточный код на Java.
Взаимодейтвие с Java подробно описано в документации.
Я в комментарии выше немного раскрыл эту тему. Может быть вас что-то заинтересует.
Scala не идеальна. Я во многом солидарен с создателем JodaTime Стивеном Колборном, который высказывается своё мнение о Scala в большой статье Scala feels like EJB 2, and other thoughts.
Наша компания серьёзно рассматривает этой язык и с большой вероятностью мы будем его использовать. Но правда я — основной идеолог и ex-xored :-)
Не совсем так. Они, как и все остальные нативные типы стандартной библиотеки, реализуются для каждой из платформ. Кроме того, в компиляторе уже есть поддержка дженериков. Но возможная область применения этих дженериков пока ограничивается только этими тремя типами.
Я думаю у языка большой потенциал. Во-первых, это конечно же серверные приложения. Мне доводилось сравнивать Tales с Play и моё первое впечатление — почему первое настолько быстрее второго? Плюс лично мне концепции Tales кажутся более правильными, тот же «html stays html» в шаблонах. С другой стороны, у этих проектов совершенно разный размер комьюнити, а потому и Play намного более стабилен.

Во-вторых, мне кажется, что Fantom мог бы стать хорошей платформой для разработки графических приложений. Например, кросс-платформеных мобильных приложений. Во-первых, он был создан для того, чтобы работать в разных средах. Во-вторых, декларативный синтаксис и прочие возможности делают его очень удобным для описания интерфейсов. Fantom в чём-то похож на JavaFX Script который не пытается встроить в мой браузер дурацкий java plugin, а транслируется с честный JavaScript.
Fantom не предлагает невозможного, он предлагает прозрачный способ написания переносимого кода. Например, стандартная библиотека работает во всех трёх VM. Модуль actors работает только для Java и .NET, поскольку в JavaScript он и не нужен (по крайней мере пока). А допустим fwt (Fantom Widget Toolkit) предоставляет один и тот же интерфейс для доступа к SWT на java и DOM для веба.

Я несколько лет назад занимался разработкой RichText, который отрисовывался на canvas в HTML5 и SWT используя один и тот же код на Fantom. При этом там, где нам нужно было, мы совершенно прозрачно использовали jQuery в JS или скажем JFace в Java.
Предпочитаете писать на Java?
1

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity