Relacja z 29. spotkania WG.NET

29. spotkanie WG.NET odbyło się tradycyjnie w budynku Microsoftu przy Alejach Jerozolimskich 195a. Składało się z dwóch sesji – pierwszej o EntLibie prowadzonej przez Sebastiana Szmigielskiego i Łukasza Szewczaka, drugiej Jacka Ciereszko o Silverlightcie 2.0. W przerwie między sesjami była część networkingowa i to, na co wszyscy czekali ;) czyli pizza!

Tym razem spotkanie zaczęło się bez żadnej mowy wstępnej, a od razu od wykładu. I tu niestety muszę powiedzieć, że się nieco rozczarowałem. O EntLibie wcześniej nie słyszałem, a informacje które uzyskałem na wykładzie były wg mnie nieco w chaosie. Przez to niewiele się dowiedziałem. No cóż, może tylko ja jestem mało pojętny, bo większość widowni sprawiało wrażenie zainteresowanej :) Dodatkowo byłem niezadowolony, że slajdy były w języku angielskim. Ze zrozumieniem ich nie miałem problemów, ale kurcze, w Polsce jesteśmy. Tekstu na nich nie było wiele, więc to chyba nie był problem…
Po pierwszej sesji była krótka cześć o zinie i nadchodzącym „zine days”, na które się już prerejestrowałem. Pod 10 minutach była informacja, że pizza już jest, więc tłum wyszedł na korytarz. I rzeczywiście była ;) Brawa i podziękowania dla wszystkich osób, które owy posiłek zorganizowały, gdyż był bardzo miłym „backgroundem” do rozmów branżowych. Patent z networkingiem przypadł mi więc bardzo do gustu.
Po socjalizacji przyszła pora na to na co najbardziej czekałem – na sesję o Silverlightcie. Tym razem nie zawiodłem się ani trochę. Jacek Ciereszko co chwila błyskał wiedzą na temat technologii, a cała jego prezentacja składała się właściwie tylko z dem, co zasługuje na wielką pochwałę. Wykład był błyskotliwy, ciekawy, a przy tym bardzo zabawny (filmik kręcony „live” rządzi!). Jacka słuchałem pierwszy raz i stwierdzam z przyjemnością, że sprawdza się świetnie w roli prelegenta. Brawa dla niego! Więcej Jacka i więcej Silverlighta!:) Pozostaje mi tylko zachęcić do ściągania materiałów.

Następne spotkanie ma się odbyć w lipcu i będzie szkoleniem z Sharepointa, więc pewnie z braku zainteresowania się na nim nie stawie. Natomiast w sierpniu ma być dłuższe spotkanie, na którym ma być przygotowany projekt – od początku do końca. Wydaje mi się, że to świetny pomysł i bardzo bym się chciał pojawić na tym spotkaniu.

ASP.NET MVC – czego mi tu potrzeba…

Framework MVC Microsoftu jest dopiero w wersji Preview 3. Kiedy należy się spodziewać wersji finalnej? Póki co tj. na obecną chwilę – nie wiadomo (a może ma ktoś jakieś informacje?). Scott Guthrie główny koordynator projektu wraz ze swoim zespołem odwalił już solidny kawał roboty. Wydaje mi się, że wciąż wiele przed nimi.

O leku na to, czego brakuje w ASP.NET MVC pisał Bartek Szafko. Opisany przez niego projekt MVC Contrib nie jest jednak odpowiedzią na moje potrzeby. Dlatego poniżej stworzyłem swój własny wish-list ;)

W ASP.NET MVC Framework chciałbym ujrzeć:
Przyjemne skrypty generujące takie jak choćby scaffold w RoR (generowanie prostych stron CRUD). W środowisku produkcyjnym ich przydatność jest raczej znikoma, jednak myślę, że znajdzie się wiele osób, których taki „ficzer” by uradował i znacząco wspomógł tworzenie prostych aplikacji.
Admin page – pełen, ładny panel „admiński” generowany na podstawie modelu – taki jak w Django. Do zaawansowanych portali raczej się nie nadaje, ale jeśli ktoś pisze system blogowy (tak jak ja), zwykły sklep internetowy czy forum, to oszczędzi mu to wiele pracy.
Ulepszone wyświetlanie widoków – czyli więcej możliwości, jak choćby natywnie wspierane wyświetlanie XML-a (jak ktoś tworzy feed RSS, to wie o czym mówię). O ile dobrze widziałem, to w Preview 3 zajęli się już łatwiejszym generowaniem widoków, głównie jeśli chodzi o przesyłanie ViewData.
Wsparcie dla typowych czynności takich jak na przykład paginacja, internacjonalizacja (hmmm w tym się w ogóle nie orientuję) czy „członkostwo” (jakiś czas temu pisał o tym Bartek Szafko) – nadal wydaje mi się, że autoryzacja nie jest zrobiona w najprostszy sposób.
Hostingi – to nie wina frameworku, ale przydałoby się go już zacząć szerzej reklamować, bo wg. mnie w nim (i w Silverlighcie) leży przyszłość tworzenia stron internetowych w technologiach MS. A hostingów wspierających z tego co wiem, nie ma (czyżby wszyscy się bali instalować wersji Preview?), no może oprócz naszego rodzimego hostedwindows, z którym można się w tej sprawie dogadać :)

Więcej grzechów nie pamiętam… :) Na razie tyle mi przyszło do głowy, ale jestem pewien, że istnieje jeszcze wiele funkcji, które warte byłby zaimplementowania, a o których tu nie wspomniałem. Dlatego dobrze byłoby, gdyby brygada odpowiedzialna za MVC słuchała trochę społeczności i podążała za trafniejszymi wskazówkami. Na razie pracę nad frameworkiem MVC oceniam na bardzo mocną piątkę. Oby tak dalej!

PS. Zapraszam do wpisywania w komentarzach swoich uwag dotyczących MVC :)

28. spotkanie Warszawskiej Grupy .NET, a moje drugie

28. spotkanie WG.NET (tym razem znów połączone ze spotkaniem PLSSUG) odbyło się 12 czerwca typowo o 18. Jako, że było to moje drugie podejście, nie odczuwałem już takiego stresiku i podniecenia jak tydzień wcześniej ;) Ba! Wziąłem nawet kolegę.

Przy wejściu na salę, zgodnie z zapowiedziami Michała Grzegorzewskiego odbywało się rozdanie plakietek. Ot miły dodatek socjalizujący (ale na następne spotkanie udoskonale swoją ;)). Na spotkaniu były 3 sesje – sesje zapasowe przygotowywane na C2C – w razie kataklizmów. Zapowiadało się więc ciekawie (na C2C nie byłem, bo odwiedzałem wtedy Poznań, ale są przecież webcasty! :)). Spotkanie zaczęło się (prawie punktualnie :P) prelekcją Dawida Łazińskiego pt. ADO.NET Data Services (aka Astoria). Prezentacja była krótka i rzeczowa, całkiem przyjemnie się słuchało, mimo że nie był to temat, który interesowałby mnie szczególnie. Warto się jednak zawsze doinformowywać, nawet o rzeczach (aktualnie) nieprzydatnych.
Druga prezentacja mnie zaskoczyła. Marcin Goł opowiadał o wymiarowaniu serwerów baz danych. Jako laik „bazodanowy” bałem się, że będę się nudził i nic nie zrozumiem, ale groźnie brzmiący temat okazał się bardzo „życiowy” i interesujący. Rozważania Marcina może i były bardzo teoretyczne, ale dzięki temu wszystko zrozumiałem :)
Ostatnia prelekcja Piotra Karczmarza ” Continous Integration – nowe możliwości, nowe wyzwania” z opisu wydawała mi się najciekawsza.. jednak w rezultacie była wg mnie – najsłabsza (co nie znaczy, że słaba). Temat zdecydowanie na czasie i warty rozważenia, jednak Piotrek mówił trochę monotonnie i niepewnie. Przez to cała prezentacja była nieco gorsza niż się spodziewałem. Może początkowe problemy techniczne i związane z tym przymusowe przyśpieszenie wytrąciły go z równowagi?
To tyle relacji z 28. spotkania WG.NET. Następne spotkanie już 26 czerwca, a na nim.. prezentacja o Silverlighcie – już ostrze sobie na nią ząbki :)
Jutro wybieram się na bootstrap – na pewno ujrzycie moją relację ze spotkania! ;)

Moje pierwsze spotkanie Warszawskiej Grupy .NET

Było świetnie! Będę się tam pojawiał regularnie! :)

Przyjazd Chrisa Koeniga skłonił mnie, by w końcu się odważyć i wybrać do budynku przy Alejach Jerozolimskich. Wcześniej trochę brakowało mi czasu, ze względu na maturę (grr, wrr, brr..). Zarejestrowałem się parę dni wcześniej, a po długich namysłach postanowiłem dojechać z Grodziska Mazowieckiego na miejsce kolejką WKD (o dziwo był w niej nawet jako taki przewiew i tradycyjnie trzęsło niemiłosiernie – do tego towarzystwo z podwarszawskich wsi niezbyt miłe). Około 17.30 byłem na stacji WKD Aleje Jerozolimskie, a mój instynkt wskazał mi kierunek, w którym się udać. Pod budynkiem MS znalazłem się dużo przed czasem.. no i zacząłem się zastanawiać co dalej… budynek MS ma, jak dobrze liczę, od samego frontu 5 różnych drzwi :) Gdy jednak zobaczyłem Michała Grzegorzewskiego, a zaraz po nim kogoś w koszulce C2C to obudził się we mnie instynkt stadny i poszedłem „za tłumem” :) Do środka zaprosił mnie ktoś, kogo niestety zupełnie nie kojarzę, ale kto jednak okazał się bardzo sympatyczny. Na sali było już trochę osób, więc ja, jako nieśmiały chłopiec usiadłem sam, gdzieś koło kamery.

Spotkanie zaczęło się krótkim wprowadzeniem (agenda i takie tam), a po chwili zaczęła się pierwsza prelekcja. Przy okazji zauważyłem, że jestem chyba najmłodszy na sali :)

Wystąpienie Chrisa Koeniga zgodnie z oczekiwaniami, było bardzo „marketingowe”, większość z rzeczy, które pokazywał już wcześniej sam widziałem (były to raczej podstawy o narzędziach MS), ale znalazło się parę „ficzerów”, których dotychczas nie używałem, a bardzo mnie zainteresowały. Najciekawszą częścią wykładu okazały się pytania publiczności, szkoda więc, że było ich tak mało. Przy okazji – obawiałem się, że mogę mieć problemy ze zrozumieniem angielskiego, rodowitego Amerykanina, jednak moje umiejętności mnie nie zawiodły – zrozumiałem każde słowo :) Podsumowując ten wykład – bardzo mi się podobał, mimo, że dużej wartości edukacynej dla mnie nie miał.

Po krótkiej przerwie zaczął się drugi wykład, tym razem Pawła Potasińskiego. Był on mocno powiązany z SQL Server, gdyż dla niedoinformowanych – 27. spotkanie WG .Net było połączone z 18. spotkaniem PLSSUG. Tematyka wykładu nie była dla mnie specjalnie interesująca – SQL Server (i Powershell), to nie moja działka, jednakże jak się okazało treść wykładu (oprócz końcowej części :P) była dla mnie zrozumiała. Nie wiem czy Paweł ma taki styl zawsze, ale jeśli tak, to gratuluję poczucia humoru :) Myślę, że to głównie jego zasługa, że prelekcja mnie zainteresowała – była zabawna, bardzo na luzie, a do tego, co bardzo ważne z dużym udziałem publiczności. W skrócie – byłem bardzo pozytywnie zaskoczony. Pod koniec patrzyłem ze zdenerwowaniem na zegarek, bo właśnie uciekała mi kolejka powrotna. Moje zainteresowanie nie pozwalało mi jednak tak po prostu zbiec :) Jak się okazało – opłacało mi się to. Na koniec był konkurs, w którym do wygrania była Vista Ultimate z roczną licencją. Mimo różnorakich zakłóceń udało się wyłonić zwycięzcę – mnie (być może wygrał ktoś, kto siedział przede mną – trudno było określić kto pierwszy podał poprawną odpowiedź) :D Koperta z płytą poleciała więc lotem koszącym do mnie :) Na koniec jeszcze pamiątkowe zdjęcie i czym prędzej popędziłem na kolejną kolejkę do domu. Idąc, odczuwałem dużą satysfakcję – zadowolenie, że mogłem uczestniczyć w tak fajnym „ivencie”. Od razu postanowiłem, że zostanę regularnym członkiem spotkań Warszawskiej Grupy .NET :)
Tak więc, zapraszam serdecznie wszystkich, którzy się jeszcze nie skusili. Poniżej linki.

WG .NET
PLSSUG
zine – ostatnio dzieje się tu dużo w związku z grupami :)

Starcie z ASP.NET MVC – akt I

Skończyłem pisać obsługę kanału RSS dla bloga i postanowiłem skrobnąć nieco moich przemyśleń. System blogowy zacząłem pisać tydzień temu i mniej więcej gotowy był po 6 dniach (byłoby szybciej, gdyby nie moje problemy z ASP.NET :)). Wydaje mi się, że to całkiem niezła szybkość produkcji. Dodam, że proces tworzenia nie był zbyt intensywny, a moja znajomość frameworku zbudowana była na lekturze 3 z 4 tutoriali Scotta Guthrie. Fakt, że może przez to cały system nie jest zbyt zaawansowany, ale jest i co najważniejsze – działa! ;)

Oprócz szybkości tworzenia, najważniejszą cechą powstającego dziecka MS jest to, że aplikacje webowy tworzy się dzięki niemu bardzo łatwo i przyjemnie. Naprawdę odczuwałem niesamowitą radość przy klepaniu. Wszystko przychodziło z łatwością, a jeśli nawet czegoś nie wiedziałem, to jedno, dwa spojrzenia w dokumentację (która co prawda jest na razie szczątkowa) i już wszystko było jasne. Kontrolery działają bardzo przewidywalnie (intuicyjnie konfigurowalny routing), a model (który wygenerowałem za pomocą LINQ to SQL – miodzio! korzystałem z tego pierwszy raz i jestem zachwycony!) świetnie z nimi współpracował. Do widoków dane przekazuje się bardzo łatwo – niejawnie, poprzez JEDEN słownik ViewData, bądź po prostu używając silnej typizacji (wymagana jest jedynie zmiana w klasy, z której dziedziczy dany widok. Wszystko to opisane jest tu. Kolejną rzeczą, która zwróciła moją uwagę, to fakt, że w frameworku tym, przynajmniej na pierwszy rzut oka, nie widać „magii”, czyli tego co najbardziej raziło mnie w Ruby on Rails. Nie mam wielkiego doświadczenia z RoR, ale wydaje mi się, że produkt MS niczym nie ustępuje tworowi Davida Heinemeiera Hanssona. Większe doświadczenie mam z Django i stwierdzam, że póki co, ASP.NET MVC brakuje tej „lekkości”, którą ma pythonowy framework. Mam szczerą nadzieję, że to jednak się jeszcze zmieni, przecież dopiero mamy wersję Preview 3, a Django już zdążyło zdobyć doświadczenie na polu frameworków webowych. Kolejną rzeczą, którą można uważać za pewnego rodzaju minus jest brak jakichkolwiek skryptów wspomagających takich jak scaffold w Ruby, czy admin page w Django. Z drugiej strony skrypty te trochę „zaciemniają” oczywistość frameworka, a wszystkie strony tworzone przy ich pomocy są do siebie bardzo podobne, więc przy profesjonalnych cyklach produkcyjnych raczej nie mają zastosowania na większą skalę. Ostatnim minusem jest kiepska integracja z VS. IDE często udziela ostrzeżeń, bądź nawet uważa coś za ewidentny błąd mimo, że kompilator to kompiluje i wszystko działa. Choć może to bardziej wina VS..?

To tyle na pierwszy akt :) Dodam jeszcze, że moje wrażenia opieram na wersji Preview 2, gdyż nie miałem jeszcze okazji zlustrować „trójki”.