Привет ребята, пишу вам из далёкой Калифорнии, куда забросила судьба меня и мою жену. Так получилось, что я, очень резко, из флексера-страдальца превратился в счастливого сильверлайтера. Все мои коллеги уже успели получить от меня тонны положительных отзывов о данной технологии. Мой энтузиазм в описании всех фичей Silverlight и до сих пор не угасает. Правда, у меня возникла диллема: мой блог был расчитан на аудиторию флексеров, и это было бы опрометчиво, просто изменить тематику статей — поэтому так долго и не писал.
В Silverlight все отлично, начиная от возможности писать код на всех языках из семьи .NET (ну, конечно же, самый популярный это красавец С#), заканчивая продуманной иерархией визуальных компонентов и возможности их полного видоизменения. Двусторонний биндинг, LINQ, нормальная поддержка ООП, Expression Blend как средство, прошу заметить, удобного «design mode» и т.п.
Есть и некоторые проблемные места, которые во Flex работают из коробки, например невозможность использовать свои курсоры, отсутствие чего-то на подобии PopUpManager, и нативного drag-n-drop. Но это все делается довольно быстро вручную.
В общем, я бы уже и смирился бы с мыслью, что Flex удел мучеников и желающих и далее подставлять костыли в индуский вонючий код, как был просто повержен беглым анализом новых фичей беты Flex 4!
Это был катарсис, оказывается в Adobe не все заснули в двухлетнюю спячку, оказывается они поняли, что раз Microsoft, возможно и своровали идею MXML, binding и вообще флекса как технологии (отмывши это все от толстого слоя ила из берегов Ганга), им ничего не мешает сделать то же самое. И вот, пожалуйста, новый фреймворк визуальных компонентов Spark, который один к одному копирует подход Template Design-а в архитектуре контролов Silverlight, это подробнее обсудим в следующих статьях. Вот тебе и пока-что хромающий Flash Catalyst, идеологическое подобие Expression Blend, вот тебе и новый язык векторной разметки на основе MXML — FXG!, точная копия набора примитивов из XAML (Rect, Ellipse, GradientFill и т.п.). Без которого немыслимо то самое разделение труда дизайнера и программиста.
Мало того, после просмотра исходного кода спарковских контролов, у меня возникло впечатление, что его писали уже люди, а не человеко-недели. Это же можно читать! Подозреваю, что Adobe всё-таки наняла нормальных архитекторов и программистов из штатов. Что конечно достойно глубокого поклона с моей стороны.
В общем, я несказанно счастлив, что теперь есть в чём разбиратся дальше. И что, возможно, вернусь в лоно флекса, как тот самый библейский блудный сын. Конечно же, как говорится, что-бы победить нужно узнать все слабости врага, чем, можно сказать, я сейчас и занимаюсь. Пожалуй в этом контексте и попробую написать несколько статей, не просто сравнивая Silverlight и Flex (слава Богу, сейчас это уже возможно), а рассматривая конкретные подходы в проектировании приложений, которые можно применять на обеих платформах. До встречи, друзья.
Весьма будет интерестно почитать, наконечто будет делатся сравнение не однобокое с какой либо стороны.
судя по тому что “переметнувших в стан врага” ты все же продолжал отслеживать что там во флексе…
в общем похоже не так сказочно в мире майкрософтовских компонентов как могло показаться…
я даже могу пофантазировать что именно:
видимо несмотря на безусловное техническое превосходство нынешнего сдк силверлайта над нынешним флексом, все же не оставляет ощущение того, что это мертворожденная технология
хотя по большому счету все это неважно – если переход на силверлайт позволяет тебе оказаться вместо берегов днепра на побережье калифорнии – на здоровье…
если переход от силверлайта обратно на флекс – позволит тебе оставаться там и дальше (я надеюсь на лучших условиях) и избежать обратного перемещения на днепровское побережье – то конечно же надо переходить
а по поводу того “какая технология” лучше – пусть спорят “студенты” ;-)
Да, мне абсолютно не понятно, почему люди предпочитают считать, что Сильверлайт это «мертворожденная технология» (наверно потому, что на букву М начинается =). Так вот, это технология очень живая и я надеюсь и уже вижу, что она очень позитивно влияет на развитие Флекса так же.
Идеи летают в воздухе, а лень их реализовывать как раз и выбивает здоровая конкуренция! =)
PS: кстати – ты же заметил что Рома сейчас работает на Якова Файна :-)
Всё таки работает? Я читал у него в твиттере, что он взял на работу флексера, а на следующий день уволил. Грешным делом подумал, что это про Рому =))
Давай Женя, успехов! :) Я сам Флекс слеш Дотнет
Женя, рад тебя снова читать!
Насчет споров на тему “кто у кого что слямзил”, то я все больше и больше убеждаюсь в том, что они не имеют смысла, это пустая трата времени. В конце-концов, мы прекрасно знаем, что идеи не стоят ничего, а вот их реализация — процесс трудоемкий и так просто утащить концепцию из одной технологии в другую за пять минут не получится. Я вообще за взаимный обмен лучшими фишками — к этому нас ведут и пламенные стяги опенсорса ;)
По поводу Flex 4 — мне нравится твой оптимизм по его поводу, полностью это разделяю. Но с другой стороны, я бы сейчас советовал:
1) Пока не переносить старые проекты во Flash Builder 4 Beta, много кода окажется битым, грозит потерями времени и разочаровнием. А вот новые проекты начинать в нем вполне ок.
2) Смотерть на продукт как на реальную бету, багои есть, многих компонентов в Spark еще просто нету, нужно быть к этому готовым.
По поводу Flash Catalyst:
С какой-то точки зрения он похож на Blend, но есть один нюанс: в нем действительно нельзя писать код, возможно, это изменится, но вряд ли. Возможно, именно поэтому возник интересный его уже любят разработчики прототипов интерфейсов и упоминаю как тул для быстрого прототипирования интерфейса, в отрыве от технологии Flex.
Привет Санфрану :)
Привет! Не расскажешь подробней о самом процессе эмиграции?
Ну, я не эмигрант вообще-то. А вообще, если хочется уехать, нужно искать работодателя. Вот и весь процесс.