Adobe Flex против openlaszlo - PullRequest
       35

Adobe Flex против openlaszlo

6 голосов
/ 03 июля 2011

В настоящее время я работаю над проектом RIA во флексе, но недавно натолкнулся на openlaszlo . Похоже, что многие крупные проекты выбрали его вместо flex, например, сервис потоковой музыки Pandora. Я заинтересован в том, почему. На данный момент самое большое преимущество, которое я видел, состоит в том, что он имеет уровень абстракции для поддержки flash 6,7, 8, 9 и dhtml и находится в разработке в течение более длительного времени (так что, возможно, более стабильным).

Кто-нибудь имел большой опыт использования обоих, или просто openlaszlo даже? действительно ли поддержка dhtml и более старых версий флэш-памяти является большим преимуществом при популярности flash 9 в наши дни? Может быть, это потому, что многие разработчики уже знакомы с javascript / ajax? Помимо языковых предпочтений, почему openlaszlo, а не flex?

Спасибо за любые советы! Райан

Ответы [ 3 ]

5 голосов
/ 28 апреля 2012

Когда такие компании, как Pandora, выбрали OpenLaszlo, Flex все еще был коммерческим продуктом (даже компилятором). Версии Flex 1.0 и 1.5 были не очень стабильными, и только с выпуском Flex версии 2.0 платформа стала намного стабильнее. Macromedia расстроила многих разработчиков, поскольку Flex 2.0 не был совместим с 1.5, и все приложения должны были быть переписаны для новой версии. В такой ситуации многие компании считали, что OpenLaszlo - неплохой выбор.

Самая мощная функция OpenLaszlo - это язык LZX. Язык поддерживает классы, анимацию любого числового свойства, ограничения с использованием синтаксиса attribute = "$ {}", поддержку mixin, наборы данных с отображением datapath (на основе синтаксиса xPath). Некоторые из ключевых разработчиков языка LZX раньше работали над языком Apple Dylan, и многие мощные концепции Dylan превратили его в язык LZX.

Я занимался разработкой OpenLaszlo и Flex. Flex имеет отличную поддержку инструментов различными поставщиками IDE. Но язык ActionScript 3 может быть очень ограничивающим, так как в Java вы тратите много времени на размышления о своей модели классов. OpenLaszlo делает упор на разработку на основе экземпляров (очень быстро для создания прототипов, хотя все еще возможно создавать очень сложные приложения с более чем 100 000 строк кода LZX). Самыми крупными приложениями OpenLaszlo, о которых я знаю, являются Laszlo Webtop (120 000+ строк кода LZX) и IBM Websphere Commerce Edition (http://ibm.co/Kid5tc).. Я слышал, что другие компании создавали такие же большие приложения с использованием OpenLaszlo.

Начиная с версии 4.2 OpenLaszlo интегрирует Flex SDK. Компилятор OpenLaszlo генерирует код LZX в JavaScript 2, а затем в код ActionScript 3. Если вы скомпилируете приложение как для DHTML, так и для SWF10 +, вы сможете извлечь выгоду из лучшей проверки типов компилятора Flex, даже если ваше приложение будет развернуто только для среды выполнения DHTML / HTML5.

OpenLaszlo очень стабильный. Последний основной выпуск (4.0) был в марте 2007 года, хотя команда OpenLaszlo посчитала, что выпуск 4.2 равен обновлению основной версии, поскольку в платформу добавлена ​​поддержка ActionScript 3 и SWF9. 4.2 был выпущен в декабре 2008 года, текущая стабильная версия - 4.9 - хотя многие члены сообщества и Laszlo уже используют OpenLaszlo 5.0 (транк, не выпущен) в производстве.

После объявления Adobe о предоставлении Flex SDK для Apache Foundation (сейчас это проект инкубатора Apache Foundation), Adobe объявила, что работает над функцией кросс-компиляции для компилятора Flex следующего поколения под названием «FalconJS». Adobe также заявила, что FalconJS (который, вероятно, будет добавлен в Apache Flex в 4 квартале 2012 года) не сможет кросс-компилировать существующие приложения Flex в JavaScript. Простой пример списка FalconJS (см. Демонстрацию в декабре 2011 года), сгенерированного в 5 МБ несжатого кода JavaScript, который можно свести к 2,5 МБ в расширенном режиме компилятора Google Closure. Аналогичный пример OpenLaszlo во время выполнения DHTML компилируется в менее чем 750 тысяч кодов JavaScript.

3 голосов
/ 05 июля 2011

Я думаю, что ваш термин «много крупных проектов» очень относительно.Да, некоторые крупные компании использовали его, но я не считаю ни один из них крупными проектами.Если вы посмотрите на все из них в витрине OpenLaszlo, они кажутся мне довольно простыми интерфейсами.Также обратите внимание, что OpenLazslo компилирует Flash, а не Flex и связанную с ним инфраструктуру.

Для меня OpenLaszlo является альтернативой для создания простых RIA таким образом, чтобы конечный код можно было скомпилировать во Flash или Javascript. Haxe является еще одной альтернативой этому, и я думаю, что он работает лучше, чем OpenLaszlo.

С учетом вышесказанного, существует проблема с этими «общими» записями один раз, скомпилированными во Flash / Javascriptфреймворк;он не использует никаких преимуществ / преимуществ каждой конкретной платформы.Flash постоянно меняется, как и Javascript с добавлением тегов html5 и css3.Если вы когда-либо имели опыт работы с обоими, вы заметите, что они сильно отличаются друг от друга по тому, как они работают, и по алгоритму может хорошо работать с Flash, а может и с Javascript.

Моя точка зрения, если вывыбрать технологию, выбрать более подходящую.Если вашему проекту необходимо иметь и Javascript, и Flash, то это может быть хорошим выбором, но помните, что тогда вы потеряете «силу» каждого из них.Например, Flex имеет очень хорошую архитектуру скинов и набор инструментов, которые необходимы для развития предприятия.Javascript может делать довольно полезные вещи с помощью селекторов, css3 и некоторых других фреймворков, таких как jQuery.

По моему опыту, посткомпиляторы, такие как OpenLaszlo, устраняют эти преимущества.Плюс, если есть что-то новое (например, аппаратное ускорение видео / 3d для javascript / flash), вы должны подождать, пока люди в OpenLazslo обновятся, прежде чем вы сможете его использовать (если они его используют).

0 голосов
/ 26 июля 2012

Я начал разрабатывать RIA с OpenLaszlo, поскольку он предлагал кросс-браузерную среду, работающую в любом месте. Пользовательский опыт, поставленный с этим, был также очень хорош.

Я перешел на Flex (когда он был в бета-версии), потому что:

  1. Все возможности OpenLaszlo были доступны во Flex.
  2. У Flex было дополнительное преимущество, поскольку он был поддерживаемым коммерческим продуктом от ведущей компании по созданию цифрового мультимедийного контента Macromedia и позже приобретенным Adobe.
  3. Flash Builder (a.k.a Flex Builder), созданный на Eclipse, обеспечил хорошее повышение производительности разработки. (т. е. потратить единовременную плату за лицензию это совсем не проблема)
  4. Прежде всего Flex обладает улучшенной возможностью интеграции / удаленного взаимодействия на стороне сервера.
  5. У Flex было много учебников и примеров кодов, поэтому освоить нового разработчика было очень легко.

Теперь Flex также является проектом сообщества с открытым исходным кодом, разработанным Apache Software Foundation. OpenLaszlo теперь предоставляет дополнительную возможность по Flex (до выхода кросс-компилятора FalconJS), позволяющую запускать среду исполнения Flash и Ajax с единой базой кода.

Но, тем не менее, у Flex есть дополнительное преимущество: очень хорошая среда разработки (с интеграцией в другие инструменты Adobe для дизайнеров) и хорошие возможности интеграции на стороне сервера, поэтому для корпоративных приложений Flex является явным победителем.

...