Kezdőlap > Uncategorized > Visual Studio 2010 Lightswitch Beta 1 – Első tapasztalatok

Visual Studio 2010 Lightswitch Beta 1 – Első tapasztalatok

Talán már jó sokan hallottuk a buzz-t, hogy bizony közeleg egy újabb Visual Studio változat, amiről még nem tudni, hogy pontosan hogy jelenik majd meg milyen formában, jelenleg szépen beépült az én Ultimate-embe.

Na hogy mi is ez. Ez az ultimate RAD Tool. Amikor azt mondom, hogy ultimate RAD Tool, akkor azt szószerint értem, ennél RAD-abb már nem lehetne Lényegében minimális ráhatásunk van a kódra, minden egyéb, szín tiszta klikkelgetés. Igen, meg lehet ilyedni és egyszerre lehet örülni. Ennek a terméknek bizony van egy target scenario-ja, amin kívül, csak nagy fájdalmak árán lehet jutni… Ilyen pl, az admin felület, a raktár nyilvántartó a webshopomhoz, meg egyebek…. Kimondottan nem frontend, webre néző, csilivili testreszabott álomalkalmazásra való. De ez nem is baj! Az egy másik scenario.

Mindenkinek javaslom, hogy nézze meg a Keynote-ot, az alapján elég jó képet kap a technológiáról.

Na és akkor a beta 1-el kapcsolatos élményeim…

Előkaptam az én kedvenc northwind adatbázisomat és behúztam belőle rögtön 5 táblát (Termék, kategóriák, megrendelés, megrendelés részletei, vevők) és ehhez álmodtam meg egy pici nyilvántartó, adminisztrációs alkalmazást, de úgy igazán A-Z-ig. (najó csak W-ig).

Először is rögtön szembezsökő volt, hogy mindössze 1 óra alatt, már teljesen otthonosan és profin használtam drága barátunkat. Logikailag nagyon szépen fel van építve, azaz, ha valamit szerettem volna megcsinálni, de nem tudtam hogyan kell, akkor ösztönösen jó helyen kerestem.

Rendkívül könnyen tudtam megoldani a navigációt, a datagrid elemeinek cseréjét (pl sima txtboxról, combo-ra vagy hyperlinkre, ami a részletező oldalra mutat). Az egyszeri ember testreszabás igényeiben tényleg 10/10.

Aztán eszembejutottak a már nem demoscenario, de még mindig fontos és alap kérdések:

  • Authentikáció és authorizáció?
  • Sebesség kérdések
  • Logging
  • A Szolgáltatás védelme
  • Konkurrencia kezelés (esetleg feloldás közben újabb konkurrencia probléma)
  • Hiba kezelés és megjelenítés?
  • Validáció testreszabása?
  • TFS-sel történő együtt működés?
  • Custom Control-ok használata?
  • DataTemplate-ek szerkesztése
  • stb…

A jó hír, hogy szinte mindenre találtam megoldást, illetve kaptam Out of the box megoldást.

Authentikáció és authorizáció:

Pár klikkel létre lehet hozni role-okat permissionöket, user-eket, kapunk rögtön felületet is hozzá, amolyan next next finisz élmény. Megy windows és megy forms auth is.

Sebesség kérdések:

Hát khmm… na jó, ez negatív tapasztalat, ugyanis a DataService-szel a kliens nagyon bután dolgozik, fogalma sincs a data caching fogalmáról. De hát beta 1, meg várom az RC-t, hogy döntsek Hadd mondjak egy példát. A Product-okhoz kategóriák tartoznak, és van egy product screen-em, amiben a category mező, egy combobox, amiben az éppen kiválasztott elem a termék kategóriája, de ha lenyitom és kiválasztok egy másikat, akkor módosítottam a kategóriát. Azt vettem észre, hogy már rég betöltött a 77 termékem, de a kategóriák csak ilyen 1mp-es lassúsággal… töltődnek mellé… mondom mi a fene. Elő is kaptam rögtön az SQL Profiler-t, mert gyanús volt a dolog nagyon, és a sejtésem be is igazolódótt, ez 77 darab lekérdezés volt a kategóra tábla felé… OMG. Na reméljük, ez majd változik, első körben nem találtam rá workaround-ot, hogy miként lehetne ezt megoldani jól. (Valakinek van tippje, ne tartsa magában)

Logging:

Ismét egy negatívum, semmi beépített megoldás nincs, lényegében a query-kre irakozhatunk fel, és loggolhatjuk őket kliens oldalon, de pl semmi hook-up-ot nem találtam a kivételek mentésére, vagy tovább küldésére egy szolgáltatás felé…

A Szolgáltatás védelme:

Ismét egy újabb negatívum, nem találtam semmi hozzáférés a service-hez igazán, ahol rendesen lehetne védeni a dolgot, persze trükközni lehet hookup pointokon, de nem az igazi… viszont lehet saját WCF RIA Service-t használni, ahol már viszont ezt játszi könnyedséggel megoldhatjuk! + 1 pont

Konkurrencia kezelés (esetleg feloldás közben újabb konkurrencia probléma):

Ez volt a második OMG pillanat. Fel van rá készítve a kliens. És okos, és kultúrált és nem nagyon hibázik… Teljes kivezetés a UI-ra, reakció a saveerror-ra. Tökéletesnek is mondhatnám, de pl nem találtam meg azt, hogy mely property-k vegyenek részt MINDIG concurrency check-ben… ez nekem hiányzott….

Ez egy nagy piros pont, ugyanis több property-re is nagyon jó műxik, és ismételt feloldás közben bekövetkezett újabb szerver oldali változásra is jól reagál. Piros pont. (+1 pont)

Hibakezelés:

Kellemes, értelmes üzenetek jellennek meg, nem eszetlen excpetion-ok. Szimpatikus. Általában fel lehet iratkozni a műveletek error pontjaira így extra lépéseket lehet tenni még igény szerint. (+1 pont )

Validáció testreszabása:

Bizony van lehetőség custom validation implementálására, ez ismét egy sima hookup lehetőség. Szeressük érte nagyon. A validáció megjelenítésre… hát elég Internet Explorer-es, nekem annyira nem tetszik, de jól látható és értelmezhető, ez a lényeg.

TFS-sel történő együttműködés:

Ugye ez nem triviális kérdés, mert nem látunk cs, sem xaml fájlokat. Ugyanakkor a checkin pillanatában nyilvánvalóvá vált, hogy de bizony vannak, és rendesn projekt struktúra generálódik a háttérben, amit lehet verziózni. Hát némely generált kód, sima cs, némely pedig xml… ezzel együtt kell élni. De a pozitívum, hogy megy, műxik és nem olyan, mint az Access-nél

Custom Controlok, Data Template-ek:

Röviden a válasz, lehet, és lehet. De csak  módjával… A legnagyobb poén az egész testre szabást illetően a live testreszabás… azaz, amikor fut élőben az alkalmazásod, és testreszabod a UI-t, ÉLŐBEN! Na az mindent überel

A fenti ábrán jól látható, hogy az élő alkalmazást szabom testre és én döntöm el, hogy az adott mezővel mi legyen… mi jelenjen meg benne, milyen típusú vezérlő renderelődjön ki, legyen model window? (ráklikkelsz felugrik egy kereshető modális ablak), vagy picture and text datatemplate-et szeretnék benne látni? Azaz minden ami használható, gyakori, kényelmes és elképzelhető, az megoldható innen.

Összesített véleményem:

Még mindig azon a véleményen vagyok, hogy ez korai release még. Meg kell várni a későbbieket, hogy ott milyen támogatás leszl (pl lokalizációval, resource kezeléssel, caching-gel lesz valami? Mert jelenleg ezek nem nagyon, vagy egyáltalán nem léteznek… A target audience is jó kérdés, ugyanis be kell valljam, hogy tudnám használni. Így hogy ennyi minden le van fedve benne, nem használhatatlan KISEBB, adminisztáricó, nyilvántartó alkalmazások számára. Komolyabb alkalmazást, már nem tudnék rajta elképzelni, ahol már nem elég a szimple CRUD felület, de komoly business logic is van a háttérben.

Összességében, jobban várom, mint nem.  (És aki engem ismer, és tudja, hogy milyen a hozzáállásom a RAD technológiákhoz, az tudja, hogy ez bizony nagyon nagy szó tőlem ) Meglátjuk…

Ti hogy látjátok?

Kategóriák:Uncategorized
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Hozzászólás