M$ Rage Rush!
Wraz z pojawieniem się informacji na DP o ograniczeniach związanych z VS 11 Express i przeczytaniu komentarzy naszło mnie kilka przemyśleń.
Dla przypomnienia wspomniane ograniczenia to: - możliwośc tylko aplikacji w UI Metro na desktopy - appsy na WP7 - ażurowe rozwiązania w chmurze - websites
Oczywiście podniósł się lament jaki M$ to złodziej i ogranicza zwykłych użytkowników, blokuje technologie no i jeszcze raz - oskubuje nas z pieniędzy.
Po pierwsze wypadałoby rozdzielić zwykłych użytkowników od profesjonalistów w branży IT. Dla tych drugich właśnie są przewidziane produkty z członem PROFFESIONAL. Odkąd pamiętam VS PRO zawsze oscylował w cenie ok. 1000 za upgrade i 2000 za nową wersję (ceny oczywiście zależne od sklepów i kursu USD) ale mniej więcej ceny były na podobnym poziomie przez wszystkie wersje 2003-2010 i zbliżone do innych produktów (porównywałem daaaaaaaaaawno temu z Borland C++ Builder 5) i nie można powiedzieć aby było to jakieś wyjątkowe zdzierstwo.
No ale zaraz, nie wszyscy się rodzą profesjonalistami, co z takimi ludźmi? No dla nich jest wersja Express właśnie. Jest za darmo, jest ograniczona no ale przecież M$ nie jest fundacją charytatywną z kolei. Za co tak naprawdę płacimy? Tylko za IDE, bo kompilator CS.EXE (o ile się nie mylę co do nazwy) jest za darmo. Chcesz to możesz podpiąć pod Eclipse czy inne IDE, a nawet pisać w notatniku i z lini komend kompilować kod.
Co mnie skłoniło na wersję PRO w przypadku VS 2010? Niemożliwość dodawania pluginów, budowanie tylko projektów (project), a nie rozwiązań (solution), gdzie można było wiele projektów łączyć i ograniczenia aplikacji bazodanowych. Ale wszystko szło obejść. Solucje budowałem wykorzystując kilka odpalonych VS Express, wersjonowanie kodu załatwiałem poza IDE za pomocą TortoiseSVN. W firmie to oczywiście podstawowym warunkeim jest prędkość dostarczenia aplikacji, stąd przejście na wersję PRO.
Ale ogólnie - da się? Da!
To mam nadzieję, że kwestie finansowe posunięcia M$ chyba sobie wyjaśniliśmy - profesjonaliści kupią wersję PRO za 500 USD, firmy kupią wersję Team Fundation, a początkujący programista lub hobbysta ma wersje Express, a jak chce zbudować coś skomplikowanego to nakładem pracy i kombinowania też da rady. A jak nie da rady? To Google/Bing/Yahoo do pomocy i niech szuka rozwiązania problemu.
A co do drugiego problemu - samych ograniczeń (tych nowych).
Mamy 2 wiodące systemy mobilne - Android i iOS, poza nimi swoje 5 minut miał WebOS (do dzisiaj posunięcia HP związanego z jego pozbyciem się nie rozumiem), BB OS też coś próbuje działać (najciekawszy pomysł to łatwe portowanie aplikacji z Androida) no i WP7 oraz nadchodzący Win 8.
Każdy z tych systemów ma swoje specyficzne podejście do kodu i interfejsu. Najważniejszymi czynnikami decydującym o sukcesie rozwiązania to cena (co w przypadku Apple jednak rozwala teorię ale Apple to nie fanboizm tylko ale i stan umysłu :) ) oraz ilość/różnorodność aplikacji.
M$ wyszedł z ciekawego moim zdaniem punktu widzenia - profesjonaliści mają swoje ulubione technologie (niektórzy wciąż programują w WinAPI), inni kochają zwykłe desktopowe aplikacje, a jeszcze inni piszą w XAMLu. Potrzeba nowych aplikacji w nowych technologiach? To rozpropagujmy to wśród ludzi, którzy najłatwiej się na to przestawią - freszynki.
Nacisk na interfejs Metro ma na celu umocnić pozycję M$ wśród systemów operacyjnych. Zobaczcie sami. Windows przestaje ewoluować, do końca świata zatrzymuje się na etapie WinXP, tymczasem Linux (i jego pochodne) oraz MacOS X (i jego pochodne) zmieniają świat. M$ zostaje w tle, plajtuje, programiści M$ tracą pracę i albo się przestawią na co innego albo też plajtują.
Gdyby nowy pomysł M$ na interfejs był do bani i zupełnie nieudany to by nie sprzedał ani jednego egzemplarzu telefonów z WP7. Win Mobile 6 się zestarzał, więc nie będzie montowany na tabletach, a Win 8 potrzebuje aplikacji i programistów. Nie chcesz iść za nowymi technologiami M$ to pozostań tez przy starym środowisku. Przecież nie przestanie ono z dnia na dzień działać.
Suma sumarów - krok M$ był jak najbardziej konsekwentny w stosunku do jego polityki związanej z systemami operacyjnymi, a jednoczesnie nie pozostawia na lodzie istniejących technologii i ludzi stawiających swoje kroki w programowaniu.