Przełomowe techniki tworzenia oprogramowania z wykorzystaniem Microsoft Visual Studio 2008 Raport listopad 2007 Najnowsze informacje można znaleźć w witrynie www.microsoft.com/vstudio
Dokument ten ma charakter wstępny i może zostać znacznie zmieniony przed udostępnieniem ostatecznej wersji opisanego w nim produktu. Informacje zawarte w tym dokumencie odzwierciedlają aktualne w dniu publikacji stanowisko korporacji Microsoft w sprawie zagadnień tu przedstawionych. Ponieważ Microsoft musi reagować na zmienne warunki rynku, nie należy interpretować tego tekstu jako zobowiązania ze strony Microsoft. Microsoft nie może gwarantować zgodności przedstawionych tu informacji po dacie publikacji. Dokument ten ma charakter wyłącznie informacyjny. FIRMA MICROSOFT NIE UDZIELA ŻADNYCH GWARANCJI (WYRAŻONYCH WPROST LUB DO- MYŚLNIE), W TYM TAKŻE USTAWOWEJ RĘKOJMI ZA WADY FIZYCZNE I PRAWNE, CO DO INFORMACJI ZAWARTYCH W TYM DOKUMENCIE. Przestrzeganie wszystkich stosownych praw autorskich leży w gestii użytkownika. Bez ograniczania praw autorskich, żadnej części niniejszego dokumentu nie można kopiować, przechowywać w systemach przetwarzania danych ani przekazywać w żadnej formie za pomocą jakichkolwiek nośników (elektronicznych, mechanicznych, w postaci fotokopii, nagrań lub w inny sposób) w jakimkolwiek celu bez pisemnej zgody firmy Microsoft. Firma Microsoft może posiadać patenty lub mieć rozpoczęte postępowania patentowe, prawa autorskie, znaki towarowe oraz inne prawa własności intelektualnej, obejmujące zagadnienia poruszane w tym dokumencie. Z wyjątkiem przypadków jawnie objętych pisemnymi umowami licencyjnymi, uzyskanymi z firmy Microsoft, otrzymanie tego dokumentu nie oznacza udzielenia licencji na te patenty, znaki towarowe, prawa autorskie lub inne prawa własności intelektualnej. O ile nie podano inaczej, nazwy firm, organizacji, produktów, domen, adresy poczty elektronicznej, znaki graficzne, osoby, miejsca lub zdarzenia użyte w przykładach w tym dokumencie mają charakter fikcyjny. Jakakolwiek zbieżność z rzeczywistymi firmami, organizacjami, produktami, nazwami
domen, adresami poczty elektronicznej, znakami graficznymi, osobami, miejscami i zdarzeniami jest niezamierzona. 2007 Microsoft Corporation. Wszelkie prawa zastrzeżone. Microsoft, Expression, Expression Blend, Outlook, Visual Basic, Visual C#, Visual SourceSafe, Visual Studio i Windows Mobile są znakami towarowymi firmy Microsoft. Pozostałe znaki towarowe są własnością ich odpowiednich właścicieli.
Spis treści Wstęp... 1 Tworzenie aplikacji klienckich... 1 Tworzenie aplikacji dla Office... 2 Tworzenie aplikacji internetowych... 4 Tworzenie aplikacji dla urządzeń przenośnych... 5 Zarządzanie cyklem życia aplikacji... 6 Podsumowanie... 7
Wstęp Microsoft Visual Studio 2008 pozwala na pełne wykorzystanie możliwości platformy.net Framework 3.5 i produktów rodziny Microsoft Office System do tworzenia charakteryzujących się wysoką jakością i zapewniających użytkownikom bogate doświadczenia aplikacji klienckich, aplikacji opartych na Office, aplikacji internetowych i aplikacji dla urządzeń przenośnych, które podnoszą efektywność procesów biznesowych i procesów podejmowania decyzji. Microsoft Visual Studio Team System 2008 udostępnia zespołom programistycznym narzędzia i procesy zarządzania cyklem życia aplikacji, ułatwiające pracę zespołową, wymianę informacji ze zleceniodawcami projektu i zapewnienie jak najwyższej jakości oprogramowania. W dokumencie tym opisano cechy Visual Studio 2008 ułatwiające tworzenie wysokiej jakości aplikacji klienckich, aplikacji opartych na Office, aplikacji internetowych i aplikacji dla urządzeń przenośnych i zarządzanie cyklem życia tych aplikacji. Opisano także, w jaki sposób Visual Studio 2008 ułatwia rozwiązywanie problemów programistycznych poprzez: podniesienie produktywności programistów, przełomowe techniki zapewniania doświadczeń użytkowników, efektywną pracę zespołową, wyższą jakość oprogramowania, lepszą przejrzystość projektów. Tworzenie aplikacji klienckich Visual Studio 2008 umożliwia budowanie bogatych aplikacji klienckich opartych na platformie.net Framework 3.5. Dzięki temu programiści mogą udoskonalać istniejące aplikacje klienckie, zbudowane w oparciu o klasy Windows Forms, dostępne w.net Framework 2.0. Wewnętrzny zespół programistyczny w firmie świadczącej usługi finansowe może na przykład zajmować się rozwojem i utrzymaniem aplikacji klienckiej do analizy obrotu walutami. Dzięki zastosowaniu.net Framework 3.5, następna wersja aplikacji może zapewnić użytkownikom bogatsze możliwości analityczne oraz funkcję bezpośredniego realizowania wymodelowanych transakcji, bez konieczności wprowadzania ich do osobnego programu. Nowe funkcje.net Framework 3.5, umożliwiające taką rozbudowę aplikacji, to między innymi: Windows Presentation Foundation (WPF) podsystem graficzny.net Framework 3.5 ułatwiający wykorzystanie możliwości współczesnego sprzętu graficznego. Przełomowe techniki tworzenia oprogramowania z wykorzystaniem Microsoft Visual Studio 2008 1
Windows Communication Foundation (WCF) podsystem komunikacyjny.net Framework 3.5 ułatwiający implementację komunikacji pomiędzy różnymi systemami i aplikacjami. Multitargeting funkcja umożliwiająca programistom korzystającym z Visual Studio 2008 przygotowywanie aplikacji dla platform.net Framework 2.0, 3.0 i 3.5 za pomocą tego samego zestawu narzędzi. Inne zalety tego nowego środowiska to między innymi: Natychmiastowe tworzenie aplikacji. Dzięki funkcji multitargeting, programiści, korzystając z Visual Studio 2008, mogą opracowywać nowe wersje aplikacji i konserwować starsze ich wersje za pomocą tych samych narzędzi. Dzięki technologiom WPF i WCF programiści mogą podnieść produktywność pracy i uzyskiwać lepsze efekty pisząc mniej kodu. Zgodność operacyjna technologii Windows Forms i WPF pozwala ograniczyć do minimum ilość nowego kodu, jaki trzeba napisać. Przełom w zapewnianiu doświadczeń użytkownikom. Dzięki technologii WPF programiści mogą łatwo wykorzystać bogatą funkcjonalność współczesnych kart graficznych i wyposażyć swoje aplikacje w intuicyjne funkcje modelowania i wizualizacji. Technologia WCF ułatwia integrację aplikacji klienckich z istniejącymi systemami przetwarzania danych, dzięki czemu użytkownicy, chcąc skorzystać z tych systemów, nie muszą stosować osobnych aplikacji. Efektywna praca zespołowa. Graficy projektujący wygląd aplikacji w Microsoft Expression Blend mogą bezpośrednio współpracować z programistami korzystającymi z Visual Studio 2008. Projektanci i programiści mogą wymieniać się efektami swojej pracy w taki sposób, że zmiany wyglądu interfejsu użytkownika nie mają negatywnego wpływu na procedury obsługi zdarzeń i logikę biznesową i na odwrót. Tworzenie aplikacji dla Office Oparte na przeglądarkach interfejsy użytkownika korporacyjnych aplikacji branżowych z reguły charakteryzują się długim czasem odpowiedzi na akcje użytkowników i często wymagają stałego dostępu do firmowej sieci intranet. Duży wysiłek, związany z wykorzystaniem takiego interfejsu użytkownika, może zniechęcać do wprowadzania danych, zmniejszając tym samą wartość zgromadzonych wewnątrz aplikacji danych dla innych użytkowników, którzy oczekują precyzyjnych i bieżących informacji. Pakiet Visual Studio Tools for Office (VSTO), zawarty w Visual Studio 2008, to rozbudowany zestaw narzędzi do tworzenia aplikacji biznesowych opartych na Office. Aplikacje takie udostępniają użytkownikom funkcjonalność systemów biznesowych, takich jak ERP (planowanie zasobów przedsiębiorstwa), CRM (zarządzanie relacjami z klientami), SCM (zarządzanie łańcuchem dostaw), za pośrednictwem przyjaznego interfejsu aplikacji Microsoft Office. Pozwalają na budowanie w oparciu o oprogramowanie klienckie i serwerowe Microsoft Office procesów biznesowych realizowanych wewnątrz firmowych aplikacji biznesowych. Programiści mogą na przykład wykorzystać Visual Studio 2008 do stworzenia aplikacji biznesowej Office, zapewniającej dostęp do danych na temat klientów firmy. Przełomowe techniki tworzenia oprogramowania z wykorzystaniem Microsoft Visual Studio 2008 2
Rozwiązanie to może być dodatkiem do programu Microsoft Office Outlook narzędzia wykorzystywanego już na co dzień przez handlowców do komunikacji z klientami i kolegami umożliwiającym handlowcom przeglądanie w trybie off-line i aktualizowanie danych CRM, kontaktów i możliwości biznesowych. Po uzyskaniu połączenia z firmową siecią, handlowcy mogliby zsynchronizować zgromadzone dane z główną bazą aplikacji CRM. Rozwiązanie takie może także wyświetlać dane z firmowych systemów raportowania sprzedaży i obsługi klientów, stanowiąc pojedynczy punkt dostępu do danych klienta, składowanych w różnych systemach zaplecza. Do budowy aplikacji biznesowych Office można wykorzystać takie produkty rodziny Visual Studio 2008, jak Microsoft Visual Studio Team System 2008 Team Suite (środowisko programistyczne) i Microsoft Visual Studio Team System 2008 Team Foundation Server (centralne repozytorium danych projektu). Niektóre z funkcji tego środowiska to: Płynna integracja z interfejsem wstążki w Office 2007. Programiści mogą z łatwością dodawać przyciski i inne kontrolki do interfejsu wstążki w Office 2007. Regiony formularzy Outlook. Dzięki regionom formularzy nowej funkcji dostosowywania interfejsu użytkownika, wprowadzonej w Office Outlook 2007 programiści mogą udostępnić użytkownikom funkcje przeglądania i edycji danych z aplikacji biznesowych. Wdrażanie metodą ClickOnce. Programiści mogą udostępniać użytkownikom nowe wersje aplikacji do instalacji poprzez proste umieszczenie ich w odpowiednim katalogu na serwerze internetowym. Użytkownicy mogą zainstalować tak udostępnioną aplikację, klikając łącze w wiadomości e-mail. Zalety stosowania Visual Studio 2008 do tworzenia aplikacji biznesowych Office to między innymi: Natychmiastowe tworzenie aplikacji. Możliwość tworzenia aplikacji biznesowych Office jako nowych rozwiązań, opartych na aplikacjach rodziny Microsoft Office, pozwala znacznie skrócić czas potrzebny na opracowanie takich rozwiązań. Funkcje takie jak płynna integracja z interfejsem wstążki i regiony formularzy Outlook, ułatwiają rozszerzanie aplikacji Office, umożliwiając programistom udostępnienie niezbędnej funkcjonalności bez potrzeby tworzenia aplikacji od początku. Przełom w zapewnianiu doświadczeń użytkownikom. Pracownicy korzystający z nowych aplikacji biznesowych Office mogąc z łatwością utrzymywać aktualność danych pracują bardziej efektywnie i szybciej realizują cele biznesowe przedsiębiorstwa. Nawet gdy połączenie z siecią firmową nie jest dostępne, mają stały dostęp do danych przechowywanych lokalnie. Funkcje takie jak płynna integracja z interfejsem wstążki pozwalają uzyskać jeszcze lepsze doświadczenia użytkowników, zapewniając jeden model pracy z danymi biznesowymi i innymi rodzajami informacji. Efektywna praca zespołowa. Team Foundation Server usprawnia pracę grupową, zapewniając centralne repozytorium dla wszystkich danych projektu, pozwalające na gromadzenie informacji w ramach realizacji standardowych zadań programistycznych. Rozbudowane, predefiniowane raporty umieszczają te informacje w zasięgu ręki każdej Przełomowe techniki tworzenia oprogramowania z wykorzystaniem Microsoft Visual Studio 2008 3
z osób zainteresowanych rozwojem projektu, dzięki czemu mogą one na bieżąco śledzić wszystkie aspekty statusu i jakości projektu. Tworzenie aplikacji internetowych Firmy wykorzystujące technologie internetowe do budowy publicznie dostępnych witryn internetowych i wewnętrznych aplikacji biznesowych powinny stale poszukiwać sposobów zapewnienia użytkownikom końcowym zaawansowanych, bardziej interaktywnych rozwiązań i uzyskania lepszych efektów pracy zespołów programistycznych. Visual Studio 2008, umożliwiając tworzenie aplikacji w oparciu o platformę.net Framework 3.5, udostępnia programistom wszechstronny zestaw narzędzi, pozwalający na efektywne budowanie bogatszych, sprawniej działających wersji zarówno wewnętrznych aplikacji biznesowych, jak i publicznie dostępnych witryn internetowych. Funkcjonalność Visual Studio 2008, ważna z punktu widzenia programistów aplikacji internetowych, obejmuje między innymi: Pełne wsparcie AJAX (Asynchronous JavaScript and XML) techniki programistycznej pozwalającej przeglądarce na realizację w tle wymiany niewielkich porcji informacji z serwerem internetowym. LINQ (Language-Integrated Query) zapytania do baz danych zintegrowane z językiem programowania. Technika pozwalająca na tworzenie w językach programowania Visual Basic i Visual C# zapytań o składni podobnej do zapytań w języku SQL (Structured Query Language) i stosowanie tej samej metody do pobierania danych z kolekcji obiektów, źródeł danych ADO.NET, plików XML i baz danych SQL Server. Integracja z Microsoft Expression Web pozwalająca na stosowanie kaskadowych arkuszy stylów i wspólnych plików projektów. Do korzyści stosowania Visual Studio 2008 do tworzenia aplikacji internetowych można zaliczyć: Przełom w zapewnianiu doświadczeń użytkownikom. Usprawniona obsługa AJAX, dzięki wyeliminowaniu konieczności przeładowania całej strony internetowej po wprowadzeniu zmiany przez użytkownika, pozwala programistom na tworzenie bogatszych, sprawniej działających aplikacji internetowych, charakteryzujących się bardziej interaktywnym interfejsem użytkownika. Natychmiastowe tworzenie aplikacji. Programiści, stosując technikę AJAX, mogą pracować bardziej produktywnie dzięki wykorzystaniu dostępnej w Visual Studio 2008 technologii IntelliSense podpowiadającej nazwy zmiennych, obiektów i ich metod. Możliwe jest debugowanie kodu JavaScript poprzez proste ustawianie punktów przerwań wewnątrz Visual Studio. Funkcja ta jest kompatybilna z większością popularnych przeglądarek internetowych. Programiści korzystający z LINQ mają w Visual Studio 2008 zapewnioną pełną pomoc w czasie projektowania, obejmującą uzupełnianie składni, inteligentną autokorektę błędów kompilacji oraz technologię IntelliSense, dzięki czemu nie muszą poświęcać czasu na naukę składni języków takich jak T-SQL czy XPATH i mogą skupić się na sposobach wykorzystania pobranych danych. Przełomowe techniki tworzenia oprogramowania z wykorzystaniem Microsoft Visual Studio 2008 4
Efektywna praca zespołowa. Projektanci interfejsu użytkownika i programiści mogą bezproblemowo współpracować ze sobą i współdzielić projekty, kod i efekty swojej pracy. Projektanci mogą przygotować interfejs użytkownika za pomocą Microsoft Expression Web i przekazać go programistom mając pewność, że projekt interfejsu i dobudowana do niego logika biznesowa nie będą ze sobą kolidować. Dzięki efektywnej pracy zespołowej firma jako całość może skoncentrować się na zapewnieniu jak najlepszych doświadczeń użytkownika. Tworzenie aplikacji dla urządzeń przenośnych Pracownicy mobilni, którzy pod koniec dnia pracy muszą poświęcić dodatkowy czas na wprowadzenie informacji z papierowych notatek do systemu komputerowego, pracują nieefektywnie. Problem ten można rozwiązać, udostępniając funkcjonalność aplikacji dla stacji roboczych na urządzeniach przenośnych wyposażonych w system Windows Mobile. Cel ten można osiągnąć w oparciu o Visual Studio 2008 i platformę.net Framework 3.5 oraz centralne repozytorium danych projektu, prowadzone z wykorzystaniem Visual Studio Team System 2008 Team Foundation Server. Funkcje środowiska, które można wykorzystać do tego celu, to między innymi: Platforma.NET Compact Framework 3.5 umożliwiająca programistom tworzenie mobilnej wersji aplikacji z wykorzystaniem tych samych technologii, z których korzystali, tworząc wersję aplikacji przeznaczoną dla stacji roboczych np. Windows Communication Foundation (WCF) i LINQ. Obsługa testów jednostkowych programiści mogą korzystać z tych samych testów jednostkowych, które opracowali tworząc aplikację dla stacji roboczych, a także przygotować nowe testy. Udoskonalone kontrolki Windows Forms dla urządzeń przenośnych, ułatwiające modyfikowanie i optymalizowanie okien dialogowych aplikacji przenośnych w celu dostosowania ich do niewielkich ekranów urządzeń. Niektóre z korzyści zapewnianych przez to środowisko programowania to między innymi: Natychmiastowe tworzenie aplikacji. Nakład prac potrzebnych do opracowania aplikacji mobilnej został znacznie zmniejszony. Programiści mogą w dużej części wykorzystać architekturę, kod i testy jednostkowe powstałe na potrzeby wersji aplikacji dla stacji roboczych większość prac może ograniczyć się do opracowania nowego interfejsu użytkownika, przystosowanego do niewielkich rozmiarów wyświetlaczy. Przełom w zapewnianiu doświadczeń użytkownikom. Rozwiązania oparte na systemie Windows Mobile zapewniają pracownikom mobilnym dostęp do funkcji i informacji wtedy, gdy jest on najbardziej potrzebny podczas pracy poza firmą. Nowe kontrolki Windows Forms dla aplikacji dla urządzeń przenośnych umożliwiają programistom optymalizację interfejsu użytkownika aplikacji do określonych zadań i podniesienie w ten sposób produktywności pracy użytkownika. Efektywna praca zespołowa. Gdy wszystkie dane projektu znajdują się w jednym miejscu i są zbierane w ramach standardowych zadań, każdy członek zespołu programistycznego ma pełne i stale aktualne informacje na temat stanu projektu. Dzięki temu może mniej Przełomowe techniki tworzenia oprogramowania z wykorzystaniem Microsoft Visual Studio 2008 5
czasu poświęcać na wyszukiwanie i przetwarzanie informacji, a więcej na wykorzystywanie tych informacji. Osoby zainteresowane rozwojem projektu, które nie są członkami zespołu programistycznego i nie korzystają z oprogramowania Team Suite, mogą uzyskać dostęp do informacji na temat projektu za pośrednictwem portalu internetowego. Zarządzanie cyklem życia aplikacji Nawet firmy rozwijające swoje rozwiązania w oparciu o Microsoft Solutions Framework często nie dysponują zunifikowanym zestawem narzędzi do obsługi tej metodologii programowania. Zespół programistyczny może na przykład do rozwoju oprogramowania wykorzystywać Microsoft Visual Studio 2005, do kontroli wersji kodu źródłowego Visual SourceSafe, do śledzenia błędów Microsoft Office Excel, zarządzać elementami pracy z wykorzystaniem poczty elektronicznej, Microsoft Office Project i Excel, kompilować rozwiązanie na komputerach programistów i kopiować efekty kompilacji na serwery testowe, koordynować zadania za pośrednictwem poczty elektronicznej, a raporty o stanie projektu przygotowywać ręcznie i dystrybuować je pocztą elektroniczną. Dostępne w Visual Studio Team System 2008 kompleksowe funkcje zarządzania cyklem życia aplikacji sprawiają, że takie zestawy fragmentarycznych rozwiązań stają się anachroniczne, i dostarczają narzędzia, procesy i wskazówki pozwalające na zwiększenie efektywności pracy wszystkich osób zaangażowanych w projekt. Dzięki Microsoft Visual Studio Team System 2008 Team Suite każdy członek zespołu programistycznego może pełnić w projekcie wiele ról, a Microsoft Visual Studio Team Suite 2008 Team Foundation Server umożliwia budowę centralnego repozytorium wszystkich informacji związanych z projektem. Funkcjonalność tego środowiska rozwoju oprogramowania istotna dla zespołów programistycznych obejmuje między innymi: Śledzenie elementów pracy. Na zarządzanie elementami pracy pozwala Team Foundation Server, a ich status jest aktualizowany automatycznie w czasie zaewidencjonowywania kodu przez programistów. Kompilacja na serwerze. W trybie integracji ciągłej każde zaewidencjonowanie kodu powoduje skompilowanie projektu i uruchomienie zautomatyzowanych testów. W razie wystąpienia problemu wszyscy członkowie projektu są o tym informowani za pośrednictwem poczty elektronicznej. Raportowanie. Predefiniowane raporty, takie jak wskaźniki jakości czy pozostała do wykonania praca, sprawiają, że informacje niezbędne do oceny postępu prac i jakości oprogramowania znajdują się w zasięgu ręki każdego uczestnika projektu. Korzyści, jakie zapewnia nowe środowisko programowania, to między innymi: Usprawniona praca grupowa. Wszyscy członkowie zespołu programistycznego architekci, programiści, testerzy, specjaliści z zakresu baz danych, menedżerowie projektu mogą bardziej efektywnie ze sobą współpracować. Zasady kontroli wersji pozwalają Przełomowe techniki tworzenia oprogramowania z wykorzystaniem Microsoft Visual Studio 2008 6
egzekwować przestrzeganie określonych procesów można na przykład wprowadzić wymaganie, by każda zmiana wprowadzana w kodzie była związana z jakimś elementem pracy. Testerzy są automatycznie powiadamiani o wprowadzanych zmianach oraz o zrealizowanych funkcjach i usuniętych błędach i mogą natychmiast rozpocząć testowanie odpowiednich elementów. Lepsza jakość oprogramowania. Ciągła integracja i zautomatyzowane testy pozwalają na natychmiastowe identyfikowanie błędów kompilacji i problemów integracyjnych, dzięki czemu nie jest trwoniony cenny czas przeznaczony na testowanie. Przed zaewidencjonowaniem kodu programiści mogą skorzystać z wbudowanych w Team Suite narzędzi analizy i profilowania kodu w celu wykrycia potencjalnych problemów z wydajnością i bezpieczeństwem rozwiązania. Lepsza przejrzystość. Gdy wszystkie dane projektu znajdują się w jednym miejscu i są zbierane w ramach standardowych zadań, każdy członek zespołu programistycznego ma pełne i stale aktualne informacje na temat stanu projektu. Dzięki temu może mniej czasu poświęcać na wyszukiwanie i przetwarzanie informacji, a więcej na wykorzystywanie tych informacji. Osoby zainteresowane rozwojem projektu, które nie są członkami zespołu programistycznego i nie korzystają z oprogramowania Team Suite, mogą uzyskać dostęp do informacji na temat projektu za pośrednictwem portalu internetowego. Podsumowanie W dokumencie opisano cechy Visual Studio 2008 ułatwiające rozwiązywanie problemów programistycznych poprzez: podniesienie produktywności programistów, przełomowe techniki zapewniania doświadczeń użytkowników, efektywną pracę zespołową, wyższą jakość oprogramowania, lepszą przejrzystość projektów. Zalety te wynikają z wprowadzonych w Visual Studio 2008 udoskonaleń ułatwiających tworzenie atrakcyjnych aplikacji klienckich, aplikacji opartych na Office, aplikacji internetowych i aplikacji dla urządzeń przenośnych. Najbardziej aktualne informacje na temat Visual Studio 2008 można znaleźć w witrynie Visual Studio pod adresem www.microsoft.com/vstudio. Przełomowe techniki tworzenia oprogramowania z wykorzystaniem Microsoft Visual Studio 2008 7