Помогите мне выбрать Flex Framework - PullRequest
0 голосов
/ 25 февраля 2011

В моем университете нужно сделать проект: XMPP клиент на Adobe Flex. По этому поводу я решил изучить любой архитектурный каркас и использовать его в своем проекте. Не могли бы вы посоветовать мне, какой фреймворк будет лучшим для клиента XMPP? Каковы преимущества и недостатки той или иной структуры? Спасибо.

Ответы [ 7 ]

3 голосов
/ 27 февраля 2011

Несколько причин использовать фреймворк:

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

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

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

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

Причины не использовать фреймворк:

  1. Сфера вашего проекта очень мала.В определенных ситуациях рамки можно считать излишними.Просто имейте в виду, что часто то, что начинается с малого, может перерасти во что-то большее или полностью превратиться во что-то другое.

Для чего я стою, в настоящее время я использую Robotlegs для большинства проектов, и это действительно сделало мою жизнь проще.Как только вы преодолеете начальную кривую обучения, работать с ней очень просто и быстро.

3 голосов
/ 26 февраля 2011

Тимофей,

Извините, что делаю это с вами, но я не могу дать вам прямой ответ, как сказал Флекстрас, это слишком зависит от сценария.

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

Если я работаю с группой разработчиков, выбираю архитектуру, которая позволяет нам работать независимо, а не теснонаши классы, тогда какой-то фреймворк становится дискуссией (в последнее время эта дискуссия перешла к SWIZ или Robotlegs, и, как упомянул Flextras, кажется, что все больше разработчиков отдают предпочтение Robotlegs, хотя я не слышал и не видел какого-либо существенного аргумента для одного над другим).

Я думаю, это здорово, что вы исследуете подобные вещи, находясь вДо сих пор в школе я не сталкивался со всем этим, пока не начал работать, но в то же время ты не хочешь использовать базуку, чтобы убить муху.Когда я впервые был нанят (пару лет назад), Cairngorm активно использовался (и по большей части все еще используется), хотя это работало довольно хорошо, и у нас уже было расширение над ним, некоторые из разработчиков здесь (ябыл просто болтуном / толкачом) с нуля построил архитектуру MVC.Он делает все, что делает Cairngorm, плюс еще немного, и теперь у нас есть люди, которые имеют абсолютно четкое представление о внутренней работе инфраструктуры MVC, очевидно, если среда достаточно «старая», она подвергнется «достаточным» вариантам использования /проверяя, что вам не нужно знать внутреннюю работу, но я, конечно, не думаю, что это причиняет боль.

Поскольку у вас нет сжатых сроков, я бы посоветовал просто дать каждому из них шанснебольшой проект и посмотрите, как они работают, и вы, вероятно, поймете, что вы не увидите существенной разницы, пока не начнете заниматься более сложной программой (ваша программа, скорее всего, будет выглядеть более сложной с RobotLegs или SWIZ в базовой форме, нокак только это превратится во что-то более продвинутое, вы, вероятно, в конечном итоге получите меньше собственного кода, используя один из них).Кроме того, это поможет вам больше, чем кому-либо еще, по отношению к определенной структуре.

Шон

2 голосов
/ 25 февраля 2011

«Лучший» - субъективный.

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

Я хочу сказать, что Cairngorm является наиболее используемым, но наименее обсуждаемым.Я мог бы сказать вам, что этот Robotlegs является самым популярным сейчас в сообществе.Я могу сказать вам, что Swiz только что выпустил новую версию.Я мог бы сказать вам, что PureMVC имеет поддержку на нескольких языках.

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

1 голос
/ 27 февраля 2011

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

Если это более крупный проект, я использовал и Cairngorm, и Swiz (и исследовал остальные там. Мы отошли от Cairngorm, так как он просто создает слишком много кода котельной пластины, который вы должны написать.Он также следует старым шаблонам и требует большой зависимости от модели locator и больших классов контроллеров.

Swiz является легковесным и основан на более современном внедрении зависимостей. Он более тестируемый, легкий, переносимый и гибкий.тут и там есть несколько причуд, но обычно вы можете выяснить это в группе Google или в их онлайн-документах.

1 голос
/ 27 февраля 2011

Я добавлю еще одну рекомендацию к этому списку: структура петрушки превосходна.Мы используем его уже более 18 месяцев в очень большом и сложном приложении Flex, которое используется в нашем коммерческом продукте.Я также использовал его в некоторых небольших вспомогательных инструментах и ​​в некоторых частных проектах и ​​по-прежнему очень доволен им.

Это фреймворк в стиле IOC, который действительно старается как можно больше скрыться от вас.Однако обратите внимание, что он не специально пытается навязать ваш код архитектурному стилю.Вы можете следовать MVC, MVP или ничего, как считаете нужным.Таким образом, его кривая обучения меньше, чем у других платформ, упомянутых здесь, но количество «руководства», которое он дает вам при структурировании собственного кода, также меньше.

Проверьте http://www.spicefactory.org/parsley/

1 голос
/ 25 февраля 2011

Ну, я использую robotlegs , и я очень доволен этим. Он использует Dependency Injection и использует шаблон проектирования MVCS, который в вашем случае должен быть полезным для запросов, которые вы должны сделать к серверу. Это просто и не раздуто с особенностями. Я не могу найти никакого большого недостатка, кроме его простоты (если это можно считать недостатком).

0 голосов
/ 01 марта 2011

как примечание, XMPP на Actionscript не очень зрелый.Как совет, не пытайтесь тестировать с серверами Google Talk.Они не выполняют XMPP так, как XIFF предназначен для поддержки (по крайней мере, 2 месяца назад).Если вам нужен собственный сервер jabber / xmpp, вот предложение: скачайте виртуальную коробку oracle и локально запустите свой собственный сервер ejabberd для тестирования.(http://www.turnkeylinux.org/ejabberd)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...