Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie, śledzenie) zarządzania projektem udostępnić biblioteki (np. wspomagające dostęp do funkcji systemu). Środowiska programistyczne: IDE (Integrated Development Environment) Borland Turbo Pascal i Borland C aplikacje konsolowe DOS, biblioteka okienek Turbo Vision) Borland C++ for Windows aplikacje 16-bitowe dla Win 3.x, biblioteka OWL Object Windows Library 2 Rys historyczny lata 90-2000: uŝytkownik Komputery i programy są dla uŝytkowników, nie programistów i informatyków! Środowiska graficzne dominacja Microsoft: Windows 95, API (Application Programming Interface) : interfejs programowania aplikacji specyfikacja procedur, funkcji lub interfejsów umoŝliwiających komunikację z biblioteką lub systemem operacyjnym 1993: interfejs Win32 API, obejmuje zbiór funkcji uŝywanych w systemie Windows. interfejs programu uŝytkownika podobna obsługa i wygląd wszystkich aplikacji! 3 1
~1995 RAD (Rapid Application Development) Narzędzia i techniki programowania: umoŝliwiają szybką budowę prototypów i/lub gotowych aplikacji, z reguły oparte o programowanie wizualne. RAD jako rozszerzenie IDE programowanie wizualne (WYSIWYG) zdarzeniowe, komponentowe (rozbudowane obiektowe biblioteki komponentów) szybkie tworzenie aplikacji - dostępne: formularze, raporty, dostęp do baz danych, komunikacja sieciowa, 4 Programowanie wizualne Środowisko umoŝliwia budowę: formularzy, raportów metodą umieszczania na pustych formach gotowych komponentów metodą drag & drop po skompilowaniu aplikacji wyglądają identycznie (WYSIWYG) zmiana niektórych własności komponentów np. wielkość, połoŝenie, kolor, zachowanie, wzajemne połoŝenie, bez pisania kodu Łatwe zarządzanie składowymi projektu konfigurowalna struktura hierarchiczna 5 Narzędzia RAD Przykładowe narzędzia (protoplaści): Windows: Delphi (1995) Microsoft Visual Studio (1997) GNU/Linux Lazarus (1999, oparte na FPC) Kylix (Borland, 2001) niezaleŝnie od platformy Qt Designer (2000) 6 2
Aktualnie Sun Microsystem Inc. firma informatyczna, jeden z najwaŝniejszych producentów sprzętu komputerowego, oprogramowania komputerowego i rozwiązań sieciowych. Siedziba główna znajduje się w Santa Clara w Kalifornii, 20 kwietnia 2009 ogłoszono, Ŝe Sun zostanie przejęty przez firmę Oracle. J2EE: standard tworzenia aplikacji w języku programowania Java oparty o wielowarstwową architekturę komponentową. 7 Aktualnie Microsoft jedna z największych na świecie firm branŝy komputerowej, producent systemów operacyjnych MS-DOS, Microsoft Windows i oprogramowania biurowego Microsoft Office, spółka publiczna z siedzibą w Redmond w stanie Waszyngton, załoŝona w 1975 roku przez Billa Gatesa i Paula Allena..NET platforma programistyczna obejmująca środowisko uruchomieniowe (Common Language Runtime CLR) biblioteki klas dostarczające standardowej funkcjonalności dla budowanych aplikacji. 8 2000: J2EE.NET J2EE (Java 2 Platform, Enterprise Edition) zaleŝna od języka Java, lecz niezaleŝna od platformy,.net niezaleŝna od języka, lecz przywiązana do platformy Windows ale: Linux: Mono 2004, dotgnu. Oba rozwiązania: maszyna wirtualna Java Virtual Machine Common Language Runtime Java zasadniczo w trybie interpretowanym.net (C#): kompilacja do kodu pośredniego, dystrybucja komputer+środowisko CLR: kompilacja do kodu maszynowego Obie platformy: model komponentowy do budowania aplikacji, interfejsy API: interfejsy uŝytkownika, dostęp do baz danych, usługi katalogowe, obiekty zdalne 9 3
Platforma.NET Wykonywanie kodu: narzędzie zgodne z platformą.net: kod źródłowy do standardowego języka pośredniego (Microsoft Intermediate Language) dystrybucja jako gotowa aplikacja pierwsze uruchomienie aplikacji środowisko CLR (Common Language Runtime) kod pośredni kompilowany na kod maszynowy procesora zainstalowanego w komputerze 10 Języki programowania Standardowo: Visual C#.NET (zaprojektowany dla.net) Visual Basic.NET Visual C++.NET Visual J#.NET Inne (prawie 40), m.in.: APL, Fortran, Pascal, Haskell, Scheme, Perl, Python, COBOL, SmallTalk, Eiffel, 11 Środowisko Visual Studio Pojęcie projektu (Project) to logiczny pojemnik na wszystkie elementy, który słuŝą do budowy aplikacji. plik *.csproj Pojęcie rozwiązania (Solution) kontener, w którym osadzony jest projekt zawiera projekty, pliki i metadane, które ułatwiają definiowanie rozwiązania jako spójnej całości. przykład: baza danych + lokalny interfejs administratora + zdalny (www) interfejs uŝytkowników plik *.sln Szablon projektu dostarcza kolekcję plików, szablon kodu, właściwości projektu 12 4
MoŜliwości Visual Studio 2008 Standard Edition środowisko rozwoju aplikacji internetowych i aplikacji dla systemu Windows, zintegrowana obsługa Visual Basic, Visual C# i Visual C++ dla programistów indywidualnych. Professional Edition - dodatkowo zespołowe projekty programistyczne oparte na technologiach internetowych m.in. ASP.NET i AJAX Windows Vista*, Windows Server 2008*, Microsoft Office System 2007, SQL Server 2008 Windows Mobile 13 Wybór typu i szablonu projektu 14 Interfejs graficzny środowiska Zarządzanie projektem Toolbox, Code/Form Design, Solution Explorer, Properties 15 5