Projektowanie i programowanie aplikacji nowej generacji
1. Projektowanie i programowanie aplikacji
nowej generacji
w oparciu o platformę .NET
Michał Kuciapski | Katedra Informatyki Ekonomicznej - Uniwersytet Gdański
2. Układ prezentacji
• Co to są aplikacje nowej generacji?
• Możliwości platformy .NET
• Narzędzia przygotowania aplikacji nowej
generacji
• Interoperacyjność budowy rozwiązań
• Studium przypadku
• Programista aplikacji nowej generacji a rynek
pracy
• Jak można zdobyć stosowną wiedzę?
2
3. Co to są aplikacje nowej Generacji? | Teoria
„Aplikacje nowej generacji” - aplikacje tworzone w
oparciu o najnowsze technologie pozwalające na:
– Implementację złożonych funkcjonalności dla
użytkownika
– Szybkie możliwości wdrożeniowe oraz aktualizacji
– Projektowanie aplikacji poprzez łączenie rozwiązań
– Zapewnienie elastycznego – mobilnego - dostępu do
systemów informatycznych
3
4. Co to są aplikacje nowej Generacji? | Praktyka
Rodzaje i technologie:
– Serwisy Web 2.0: HTML 5.0, CSS 3.0, JQuery, mashupy,
widgety – wysoka interaktywność serwisu oraz integracja
rozwiązań wielu aplikacji (niewiele jest już stron
niezintegrowanych z Facebook-iem)
– Aplikacje mobilne: Windows Mobile, Platforma Android -
dostęp do funkcjonalności wszędzie (smartfon ~ komputer)
– Aplikacje RIA (Rich Internet Application): Silverlight, Adobe
Flex – wymagana wyłącznie przeglądarka, a funkcjonalność
na poziomie rozwiązań desktopowych
– Programowanie w „chmurze”: Azure, Google App Engine –
wysoka skalowalność i łatwość utrzymania rozwiązań
4
5. Możliwości platformy .net | Funkcjonalność
• Programowanie dla wielu środowisk (Windows, Linux, mobilne -
Windows Phone 7)
• Programowanie w wielu języków programowania – C#, VB, Visual
C++, inne
• Korzystanie z infrastruktury . NET – np. Microsoft SQL Server
2008, Microsoft Windows Server 2008, Microsoft SharePoint 2010
• Możliwość integracji z istniejącymi rozwiązaniami – wspieranie
standardów
• Dostęp do wielu bibliotek
(interfejs, dane, komunikacja, bezpieczeństwo, inne…)
• Szablony projektowania i programowania :
desktopowych, webowych, rozproszonych, Office, pakietów
instalacyjnych i wdrożenia
• Programowanie w chmurze – Azure
5
7. Narzędzia przygotowania aplikacji nowej generacji
• Microsoft Visual Studio 2012:
o Pełne wsparcie procesu tworzenia oprogramowania – projektowanie,
produkcja, testowanie i wdrażanie
o Mechanizmy RAD
o Oprogramowanie wielu rozwiązań: desktopowe (WPF), webowe (ASP
.NET, MVC), RIA (Silverlight), rozproszone (WCF), Windows Mobile –
dzięki Microsoft Mobile Internet ToolKit, SharePoint, chmura (Azure),
serwery MS
o Bogata dokumentacja: MSDN, strony społeczności, blogi tematyczne
• Microsoft Expression Studio 4:
o Projektowanie aplikacji webowych – Expression Web
o Projektowanie i programowanie aplikacji RIA (SilverLight) – Expression
Blend
o Projektowanie grafiki - Expression Design
o Przygotowanie materiałów audio i video – Expression Encoder
• Microsoft XNA Game Studio 4 – projektowanie gier dla urządzeń
mobilnych 7
10. Studium przypadku| Sytuacja problemowa
Nasz klient w związku z rozwojem działalności
planuje przygotowanie zintegrowanego systemu
pozwalającego na elastyczne zarządzanie logistyką
z wielu lokalizacji. Projektując i programując
rozwiązanie musimy wziąć pod uwagę wymagania:
• automatyzacja uzyskiwania aktualnej oferty od
dostawców dla zamówień zakupu
• zapewnienie niezależnych od technologii narzędzi
realizacji sprzedaży
• przygotowanie narzędzi analizy zamówień oraz
sprzedaży poprzez interaktywne tabele i wykresy
• możliwość pobierania aktualnej oferty przez
partnerów klienta
10
11. Studium przypadku| Rozwiązanie
Proponowana kolejność wykonania rozwiązania:
1. Określenie typów rozwiązań realizacji wymagań
(baza, biblioteki, wirtyna ASP. NET, aplikacja mobilna, serwisy
rozproszone WCF)
2. Projektowanie rozwiązań
3. Przygotowanie bazy danych
4. Ustalenie i przygotowanie mechanizmów pobierania danych od
partnerów (Web Service)
5. Przygotowanie systemu zamówień i sprzedaży (ASP .NET, MVC)
6. Przygotowanie aplikacji analitycznej (Windows
Mobile, Silverlight)
7. Przygotowanie serwisu udostępniania danych oferty (WCF)
8. Wdrożenie i przetestowanie rozwiązań (Serwer WWW – IIS w MS
Windows Server 2008)
11
12. Programista aplikacji nowej generacji a rynek pracy
Czy programiści .NET są poszukiwani na rynku pracy?
• W serwisie pracuj.pl osoby na stanowisko „Programista .NET”
poszukiwane są przez firmy w większości dużych miast w Polsce
• Dnia 09.07.2012 w serwisie pracuj.pl pracę na stanowisku
„Programista .NET” oferowało 312 firm
• Wprowadzenie w wyszukiwarce Google zapytania „programista
.net oferty pracy” zwraca ponad 800 tys. wyników
Zatem odpowiedź może być wyłącznie jedna: TAK
Czy zarobki dla programistów .NET są atrakcyjne?
• Wynagrodzenia wahają się od 4500 zł do kilkunastu tysięcy
• Wynagrodzenia są często o kilkadziesiąt procent wyższe niż dla
developerów Java, C++ i PHP
Zatem odpowiedź ponownie może być wyłącznie jedna: TAK 12
13. Programista aplikacji nowej generacji a rynek pracy
Podstawowe wymagania stawiane dla stanowiska „Programista .NET”:
• wykształcenie wyższe informatyczne, mile widziani studenci ostatnich lat
• znajomość platformy Microsoft.NET
• zainteresowanie aplikacjami internetowymi z wykorzystaniem Visual Studio
2005/2010
• Znajomość: platformy .NET, ASP.NET, ASP.NET MVC (C# i JavaScript), HTML
• znajomość zagadnień baz danych i praktyczna znajomość Microsoft SQL i ADO.NET
• umiejętność programowania w C#, JavaScript
Mile widziana znajomość:
• UML
• T-SQL, JavaScript, XML, CSS, Jquery
• technologii Web Services
• platform mobilnych: Windows Mobile, Android
13
14. Jak można zdobyć stosowną wiedzę? | Studia
Stosowana wiedza i umiejętności zdobywane są w ramach
kierunku Informatyka i Ekonometria i specjalizacji
Informatyka, w ramach przedmiotów:
• Dedykowanych:
– Programowanie komputerów – programowanie w języku C#
– Serwisy internetowe – projektowanie serwisów ASP .NET
– Programowanie sieciowe – technologie rozproszone (WCF) oraz
mobilne (Windows Mobile)
• Powiązanych tematycznie:
– Bazy danych – umiejętność przygotowania bazy danych i
zapytań
– Inżynieria oprogramowania – techniki zwinne (SCRUM)
wytwarzania oprogramowania
– Projektowanie systemów informatycznych– projektowanie
systemów za pomocą UML 14
15. Jak można zdobyć stosowną wiedzę? | Dodatkowe
W ramach studiów na kierunku Informatyka i Ekonometria i specjalizacji
Informatyka dostępne są kursy e-learnigowe realizowane indywidualnie:
• Ponad 400 z zakresu technologii Microsoft
• Ponad 20 z zakresu programowania .NET, w tym:
– Collection 6463: Visual Studio 2008 ASP.NET 3.5
– Collection 10267: Introduction to Web Development with Microsoft® Visual
Studio® 2010
– Collection 2543: Core Web Client Programming with Microsoft® Visual
Studio® 2005
– Collection 2544: Advanced Web Client Programming with Microsoft® Visual
Studio® 2005
– Collection 6461: Visual Studio 2008: Windows Communication Foundation
• Kursy zawierają:
– Multimedialny materiał merytoryczny
– Przykłady zastosowania technologii
– Laboratoria oparte o gotowe maszyny wirtualne
15