Silverlight vs Flex

Moja firma opracowuje kilka rodzajów aplikacji. Duża część naszej działalności pochodzi z tworzenia aplikacji multimedialnych, zazwyczaj wykonywanych we Flashu. Jednak teraz ta strona domu zaczyna migrować w kierunku tworzenia Flex.

Większość naszego rozwoju odbywa się za pomocą .NET. staram się zrobić nacisk na rozwój Silverlight zamiast, ponieważ to lepiej wykorzystać deweloperów. NET w personelu. Wolę platformę Silverlight niż Flex platforma dla prostego faktu, że Silverlight to cały kod. NET. Mamy więcej programistów. NET niż programistów Flash / Flex, a większość naszych programistów Flash / Flex to graficy (nie prawdziwi Programiści). Jedynym powodem, dla którego naciskają teraz na Flex, jest to, że wydaje się logicznym krokiem z Flasha.

Zrobiłem rozwój używając obu i szczerze wierzę, że Silverlight jest łatwiejszy do pracy. Ale staram się przekonać ludzi, którzy są tylko programistami Flash.

Więc oto moje pytanie: jeśli mam iść na spotkanie, aby pochwalić Silverlight, dlaczego firma miałaby chcieć wybrać Silverlight zamiast Flex? Poza oczywistym "nie każdy ma Silverlight", jakie są plusy i minusy dla każdego?

Author: 1kevgriff, 0000-00-00

7 answers

Myślę, że powinieneś spojrzeć na Silverlight jako na grę długoterminową, tak jak Microsoft wydaje się robić. Jest oczywiste, kiedy używać Silverlight vs. Flash, gdy martwisz się o reach I install base, ale oto kilka powodów, dla których Silverlight jest dobrym kierunkiem do poruszania się:]}

  1. Second mover advantage - tak jak Microsoft zbudował "lepszą Javę" z. Net, są w stanie spojrzeć na to, jak zaprojektujesz wtyczkę RIA od zera, dzisiaj. Mają tę zaletę, że wiedzą jak ludzie korzystają dziś z Internetu, coś, czego wynalazcy Flasha nigdy nie mogli dokładnie odgadnąć. Flash może dodawać funkcje, ale nie mogą realistycznie rzucić platformy i zacząć od nowa.

  2. Znajomość deweloperów - choć Silverlight jest nowym modelem, nie jest zupełnie obcy dla programistów. Szybciej "zrozumieją", jak działa Silverlight, niż zrozumieją, uruchamiając nowe środowisko programistyczne z nowym językiem skryptowym i nowym wydarzeniem paradygmaty.

  3. Pozbycie się modelu osi czasu we Flashu-Flash został pierwotnie zbudowany dla animacji opartych na klatkach kluczowych i chociaż istnieją sposoby na abstrakcję tego, to jest podstawą działania Flasha. Silverlight porzuca to dla modelu zorientowanego na aplikacje.

  4. ScottGu-ScottGu jest rozpalony o Silverlight. Nuff powiedział (a):

  5. Fajne nowe funkcje - podczas gdy Silverlight wciąż ma coś do nadrobienia z Flashem na niektórych oczywistych funkcjach ( takich jak kamera internetowa / integracja mic, czyli akceleracja 3D / graphics), w Silverlight wbudowane są nowe technologie-jednym z przykładów jest Deep Zoom. Widzę więcej "rewolucyjnych" technologii po stronie Silverlight, podczas gdy Flash wydaje się być w trybie konserwacji w tym momencie.

 52
Author: Jon Galloway,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-21 20:16:40

Są dwa pytania: Silverlight vs. Flash as platform oraz Silverlight vs. Flex as Ria framework.

Pierwsze pytanie zależy od Twojego czasu. Flash Player ma ponad 95% zasięgu, Silverlight nie ma w pobliżu tego. Jednak Silverlight może się tam dostać, w końcu jest wspierany przez Microsoft. Jeśli chcesz uruchomić stronę w przyszłym tygodniu i chcesz mieć ogromną publiczność, Silverlight nie wchodzi w grę. Jeśli masz na celu uruchomienie naprawdę fajnej aplikacji, z której każdy chciałby korzystać to trochę inaczej, jeśli Twoja aplikacja jest wystarczająco dobra, Twoi odbiorcy docelowi mogą zainstalować Silverlight, aby móc ją uruchomić.

Jeśli chodzi o drugie pytanie, to kwestia tego, jak łatwo jest tworzyć aplikacje W Silverlight. Flex to nie tylko zestaw widżetów, to bardzo duży framework, który robi wiele rzeczy, które ułatwiają pracę deweloperowi. Można by pisać te same aplikacje używając tylko core Flash API, ale byłoby to o wiele więcej pracy. W zależności od tego, co jest dostępne w Silverlight, powinno to być ważnym czynnikiem przy podejmowaniu decyzji. Jeśli możesz skrócić czas rozwoju, czy warto mieć dwie platformy?

 30
Author: Theo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-22 07:23:59

Myślę, że Silverlight jest najkorzystniejszy dla firm, które mają programistów. NET, ale nikt nie ma doświadczenia w projektowaniu.

Zestawy umiejętności będą łatwiejsze do znalezienia, jeśli chodzi o znalezienie programistów C# lub VB vs znalezienie guru ActionScript. ]}

Design experience to inwestycja nie tylko w projektantów z artystycznymi umiejętnościami, ale także w wiedzę i narzędzia dostarczane przez firmę Adobe. Możesz prawie zagwarantować, że profesjonalny projektant używa komputera mac i ma doświadczenie z narzędziami Adobe.

W tej chwili narzędzia Silverlight designer są w połowie upieczone i mogą być bólem głowy. Na przykład błędy Blend podczas próby renderowania dowolnego xaml zawierającego IValueConverter, jest to problematyczne. Nie mam pojęcia, co to jest Adobe developer experience, jestem pewien, że jest tak Owłosione.

Więc na tym etapie gry sprowadza się do zasobów ludzkich:

Jeśli masz doświadczenie. NET i mało zainwestowane w umiejętności projektowe idź Silverlight. Programowanie umiejętności/narzędzia będą zbywalne. Jeśli masz doświadczenie w projektowaniu i umiejętności, Wybierz Flex. Umiejętności/narzędzia projektanta będą zbywalne.

Tak czy inaczej obie platformy klienckie wymagają komunikacji z usługami w celu uzyskania danych, więc zawsze będziesz korzystać z istniejącej wiedzy programistycznej na zapleczu.

Parafrazowane zdanie Jona z innego punktu widzenia:

Myślę, że powinieneś spojrzeć na Flex jako na grę długoterminową, tak jak wygląda Adobe. Jest jeśli chodzi o reach I install base, jest to oczywiste, kiedy używać Silverlight vs. Flex, ale oto więcej powodów, dla których Flex jest dobrym kierunkiem, w którym warto się poruszać:]}

  1. Second mover advantage-tak jak Adobe zbudował " lepszy aplet Javy" z Flashem, są w stanie spojrzeć na jak zaprojektować runtime z scratch, dzisiaj. Mają zaleta wiedzy o tym, jak ludzie używają dzisiaj w sieci, coś w wynalazcy dotychczasowego klienta platformy nigdy nie mogły dokładnie zgadłem. . NET może dodać funkcje, ale nie mogą realistycznie uchwycić platformę i zacznij od nowa.

  2. Znajomość projektanta-podczas Flex / AIR to nowy model programowania, nie jest do końca obca projektantów. "Dostaną" drogę Flex działa dużo szybciej niż zrozumieją, że nowy środowisko projektowe z nową funkcją słabe narzędzia i nowa animacja paradygmaty.

  3. Pozbycie się modelu kolorów RGB w Silverlight -. NET był pierwotnie zbudowany dla okna i jest na podstawa tego, jak to działa. Flex dawno temu dla design-centric model.

  4. Wszystkie narzędzia działają na komputerze mac. Nuff said.

  5. Fajne funkcje-Silverlight still ma coś do nadrobienia z Flash na niektórych oczywistych funkcjach (takich jak integracja z kamerą internetową / mikrofonem, czyli 3d / przyspieszenie grafiki).

 22
Author: Brian Leahy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:19:34

Wykonujemy zarówno silverlight, jak i flex, a oto punkt widzenia programistów dla obu.

Plusy Silverlight:

  1. Moc C#, fragmenty kodu, ponowne wykorzystanie istniejących implementacji algorytmu C#
  2. potęga innych języków, Generics i Linq itp
  3. Moc natywnego wykonywania CLR zamiast interpretera skryptu akcji Flasha
  4. jedno zintegrowane Studio wizualne dla wszystkich projektów
  5. Expression Blend jest naprawdę fajnym i bardziej zaawansowanym edytorem następnie Flex Builder
  6. XAML jest przyjazny dla wyszukiwarek
  7. całkiem ładne przejścia stanu i łatwe do zdefiniowania
  8. Threading i asynchroniczne zadania
  9. dostępność, nikt nie wie, że Microsoft zawsze najlepsze funkcje accessilility na wszystkich swoich produktach, zawsze działało dobrze z osobami niepełnosprawnymi, porównując przeglądarki TYLKO IE obsługuje pełną dostępność i Safari / firefox itp.

Wady Silverlight:

  1. ściśle Platforma Microsoft, wiem, że wiele osób będzie się spierać, ale z obecnym scenariuszem, połowa facetów Intel Mac nie może się Silverlight 3.0 działa, wszyscy faceci Mac PPC nie mogą używać Silverlight 2.0 dalej, a nie silverlight dla Linuksa.
  2. jest mono, ale oficjalnie nie wspierany przez Microsoft, zawsze pozostanie w tyle za inżynierią odwrotną. NET i przeniesieniem go na inną platformę, jeszcze nie po wyjęciu z pudełka.
  3. większość komponentów / kontrolek jest "zapieczętowana", więc trudno je rozszerzyć i nadpisać aby łatwo tworzyć nowe komponenty.
  4. zła Architektura CustomControl / UserControl. Nie możesz mieć korzenia XAML jako ComboBox lub jakiejkolwiek innej kontroli i pozwolić mu mieć zarówno projekt, jak i Kod, możesz utworzyć niestandardową kontrolę, ale są one zbyt złożone
  5. Wiązanie wymaga nazwania komponentów i nie obsługuje wyrażeń instancji, jak to robi flex, chociaż Wiązanie dwukierunkowe jest dobre w silverlight, ale musisz pisać długie kody dla wielu wiązań dla jednej matematyki wyrażenie
e.g.
// this is possible in flex..
// but not in silverlight
<mx:TextBox id="firstName"/>
<mx:TextBox id="lastName"/>

// display full name..
<mx:Label text="{firstName.text} {lastName.text}"/>

Plusy flexu:

  1. prawdziwie niezależny od platformy, obsługiwany na różnych urządzeniach i systemach operacyjnych i naprawdę działa wszędzie świetnie.
  2. Open Source ułatwia zrozumienie i rozszerzenie funkcjonalności.
  3. każdy kontroler/komponent może być rozszerzony i jest mniej ograniczeń nadpisujących domyślne zachowanie.
  4. najprostszy sposób tworzenia nowych komponentów, możesz mieć mxml z dowolnej kontroli i rozszerz je za pomocą obszernego oprawy
  5. Flex zawiera wiele kontrolek i nie potrzebujesz żadnej biblioteki stron trzecich

Wady Flex:

  1. powolne wykonywanie dla iteracyjnych egzekucji, bez wątków !! Brak zadań asynchronicznych !!
  2. W oparciu o punkt 1, nie ma możliwości świetnej animacji ani Grafiki
  3. Brak generyków, brak innych języków, brak linq..
  4. Klasa Number ma błąd, cant przechowuje pełną 64-bitową wartość
  5. Eclipse jest złe zaprojektować coś wielkiego UI

Podsumowanie

  1. używamy flex dla aplikacji do przetwarzania danych, są to proste aplikacje do przetwarzania formularzy
  2. Silverlight do niezwykle bogatej grafiki i animacji
 15
Author: Akash Kava,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-02 09:42:39

Problem z Silverlight polega na tym, że wciąż jest wiele osób, które nie mają go zainstalowanego. Nie jestem również pewien, jak dobrze Twoi obecni programiści. Net będą w stanie wykorzystać swoje istniejące umiejętności, jeśli znają tylko bardziej tradycyjne kodowanie.Net po stronie serwera.

Jakie są twoje powody, aby przesunąć Silverlight na Flex? Jeśli musisz zapytać społeczność SOFlow z powodów, to wydaje się dziwne, że jesteś tak skłonny to przeforsować.

 13
Author: Kibbee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-21 19:43:22

Kolejną zaletą Flex development jest to, że można przełączyć się na tworzenie aplikacji desktopowych (Adobe AIR) z tym samym kodem źródłowym (i tym samym IDE) i rozpowszechniać je z Internetu. Możesz sprawdzić to dla przyszłości platformy Flash.
Aktualizacja Q3/2011: Flash 11 obsługuje akcelerację 3D na niskim poziomie, a istnieje już wiele frameworków i głównych silników (Unreal Engine 3, Unity) wspierających go. Punktem sprzedaży na przyszłość jest jednak to, że aplikacja AIR będzie działać na Windows, Mac, Android, Playbook i IOS (wsparcie dla Linuksa zostało wycofane). Z absolutnym minimum kłopotów między portowaniem między nimi(przynajmniej jeśli masz Adobe CS5.5+).

[[0]] aktualizacja Q2/2015: Silverlight oficjalnie nie żyje. Adobe AIR żyje, ale nie kwitnie - może być przydatny w oparciu o twoje umiejętności i łańcuch narzędzi. Zarówno Microsoft, jak i Adobe przyznają, że HTML5 jest drogą do zrobienia (czy to z AIR lub Apache Cordova lub Visual Studio).

Aktualizacja Q3 / 2017: Haha wow, kto nawet używa Flasha.

 11
Author: analytik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-16 12:52:02

Nie zapomnieć:

Flex jest bardzo wieloplatformowy, ponieważ jest kompilowany za pomocą Java compile, co oznacza, że możesz łatwo używać Mac lub Linux podczas tworzenia aplikacji Flex. Mam moją aktualną konfigurację cruisecontrol (która używa Linuksa) buduję aplikacje build Flex, ale deweloperzy używają zarówno Mac, Linux, jak i Windows.

Z mojego doświadczenia wynika, że programiści Javy czują się całkiem jak w domu w Flex Builderze, ponieważ jest on oparty na Eclipse.

 7
Author: Martin Wickman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-15 13:23:40