2011-07-03 4 views
6

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

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

Спасибо за любые советы! Ryan

+0

Прямо сейчас есть 20 вопросов с меткой «openlaszlo» и 12695 с меткой «flex» на StackOverflow ... –

+0

что-то сделанное добровольцами, и что-то сделано из корпорации с четкими жесткими и дорожными картами ... ну, жесткий выбор : D. Я сделаю ставку на развитие корпорации - Flex. –

+0

Хорошие моменты, коммерческие против сообщества, хотя я видел много замечательных проектов сообщества. Мне нравится среда разработки flex/flash builder ide/visual. Если у openlaslo этого нет, я думаю, что есть много других платформ/фреймворков ria для браузера, которые также очень хороши, используются большими сайтами и не имеют сборщиков gui. –

ответ

5

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

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

Я разработал как OpenLaszlo, так и Flex. Flex имеет отличную поддержку инструментов различными поставщиками IDE.Но язык ActionScript 3 может быть очень ограниченным, так как в Java вы много времени думаете о своей модели класса. OpenLaszlo подчеркивает разработку на основе экземпляров (очень быстро для прототипирования, хотя по-прежнему можно создавать очень сложные приложения со 100k + строками кода LZX). Крупнейшими приложениями OpenLaszlo, о которых я знаю, являются Laszlo Webtop (120K + строки кода 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 в четвертом квартале 2012 года) не сможет перекрестно скомпилировать существующие приложения Flex в JavaScript. Пример простого примера FalconJS (как показано в декабре 2011 года) сгенерирован в 5 МБ несжатого кода JavaScript, который можно было свернуть до 2,5 МБ с помощью расширенного режима компилятора Google Closure. Подобный пример OpenLaszlo в среде выполнения DHTML составляет менее 750 тыс. Кода JavaScript.

+0

не мог попросить лучшего ответа! – ryanggfx

3

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

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

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

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

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

+0

Я просто имел в виду большой, как в широко используемом, и в основном имел в виду Walmart, H & R block и Pandora. Но да, большое спасибо. Это именно то, что я искал. – ryanggfx

+0

Широко используется? За 5 лет профессионального опыта я еще не встречал никого, кто использовал OpenLazslo (для которого я работал). И я не могу сказать, что я рассматриваю это как требование для работы. То же самое для HaXe. Для меня это скорее эксперимент, чем что-либо другое, и он не будет использоваться для какого-либо важного проекта по тем же причинам, которые были перечислены выше, так как вы, в конце концов, попадете в стену и застрелитесь в ноге, так как вы не можете сделать Больше. –

+0

Забыл, я сказал что-нибудь о чем-то большом. Я просто задавался вопросом, почему проекты должны были быть более чем на 2-3 тыс. Сайтов в день (walmart, pandora, h & r block) выбрали openlaszlo вместо того, чтобы просто использовать flex/as3. Я не знал, может быть, я кое-что заметил, увидев. В любом случае, мне было просто любопытно, и вы ответили на большие. Всегда приятно знать об альтернативных проектах. – ryanggfx

0

Я начал разрабатывать 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 кросс-компилятор не будет отпущена), что он может работать как флэш & Ajax среды выполнения с одним кодом база .

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

+0

FalconJS не собирается поддерживать компиляцию приложений Flex в JavaScript/HTML5. Демо-приложения, которые Adobe продемонстрировала в конце 2011 года, составили несколько мегабайт кода JavaScript для простого списка, который сжимал бы до 1,5 МБ с помощью gzip. FalconJS будет пожертвован Apache к концу 2012 года, и это абсолютно не готовый продукт, и Adobe не верит, что он когда-либо будет. –