Transcript Slajd 1

ASP.NET
Prezentacje wykonali:
Grzegorz Pol
Kamil Piersa
Krzysztof Piotrowski
Marcin Przerwa
Tomasz Piątek
Elżbieta Oknińska
Wstęp do ASP.NET
Najkrócej mówiąc ASP.NET jest technologią po stronie serwera służącą do rozwijania
aplikacji internetowych w oparciu o .NET Framework. Co to oznacza?
ASP.NET jest technologią po stronie serwera to znaczy, że działa na internetowym
serwerze. Technologie po stronie serwera, takie jak ASP.NET, działają inaczej niż poznane
przez nas wcześniej technologie jak HTML, CSS czy JavaScript. Kod, który znajduje się
po stronie serwera nie jest interpretowany przez przeglądarkę, ale przez serwer na którym
się znajduje. W przypadku ASP.NET jak i PHP kod strony jest odczytywany przez serwer i
służy do wygenerowania HTML-u, JavaScript-u i CSS-a, które są wysyłane do naszej
przeglądarki. A więc podsumowując za przetwarzanie kodu po stronie serwera w całości
odpowiada serwer.
http://localhost/mysite.aspx
HTML, JavaScript, CSS
Klient
Serwer
Wstęp do ASP.NET
ASP.NET jest technologią służącą do rozwijania aplikacji internetowych.
Rozbudowane strony, które są synonimem aplikacji internetowych praktycznie zawsze są
związane z bazą danych i umożliwiają nam dostęp oraz zmianę informacji (na przykład
przez dodanie artykułu, komentarza). Jak już wiemy do tworzenia rozbudowanych stron
internetowych zostało opracowanych do dziś wiele technologii programistycznych oraz
języków programowania takich jak np. PHP, JSP, Ruby on Rails, CGI, czy ColdFusion.
ASP.NET pozwala na pisanie aplikacji internetowych za pomocą dobrze znanych języków
programowania bez potrzeby związywania z określoną technologią, bądź to językiem
programowania .
Wstęp do ASP.NET
ASP.NET wykorzystuje .NET Framework Microsoftu. Pakiet .NET Framework
opublikowany przez Microsoft łączy wszystkie technologie potrzebne dla nas do tworzenia
aplikacji dla Windows, aplikacji internetowych, usług internetowych. Ten oto pakiet
udostępnia ponad 40 języków programowania. .NET składa się z dwóch podstawowych
części: środowiska wykonania kodu Common Language Runtime (CLR) oraz zbioru
powiązanych ze sobą bibliotek. CLR można w najprostszy sposób opisać jako silnik, który
uruchamia aplikacje napisane z wykorzystaniem .NET. Tworzy on specyficzne środowisko
dla aplikacji. CLR odpowiada przede wszystkim za konwersje z języka wysokiego poziomu
do języka niskiego poziomu (operującego na przetwarzanych przez procesor instrukcjach
w postaci kodu bajtowego). Kolejnymi istotnymi funkcjami CLR są zarządzanie pamięcią
operacyjną, kontrola bezpieczeństwa wykorzystywanych informacji oraz ładowanie i
wykonywanie poszczególnych programów.
Wstęp do ASP.NET
Unikalne cechy technologii ASP.NET:
• pisanie w naszym ulubionym języku lub jednym z tych, który jest do niego zbliżony.
Najbardziej popularnymi językami w ASP.NET są C# i Visual Basic
• bardzo duża wydajność spowodowana tym, że strony ASP.NET są kompilowane, a nie
interpretowane. Kod jest kompilowany do wydajnych binarnych plików, które mogą być
wielokrotnie bardzo szybko uruchamiane bez narzutu związanego z każdorazowym
wczytywaniem strony.
• korzystanie z pakietu .NET Framework, który umożliwia obsługę XML, obsługę poczty
elektronicznej, współpracę z bazą danych, usługi internetowe, wyrażenia regularne
• odseparowanie HTML-a od kodu wykonywanego po stronie serwera.
• dostęp do narzędzi pomagających w tworzeniu stron ASP.NET takich jak Visual Studio
2005, które jest darmowym wizualnym edytorem. Posiada cechy takie jak kompletowanie i
formatowanie kodu, integracja z bazą danych, wizualny edytor HTML, wyszukiwanie
błędów oraz wiele innych.
• dzięki projektom takim jak Mono ASP.NET został przeniesiony także na inne systemy
operacyjne.
Historia technologii
Technologią poprzedzająca ASP.NET było ASP. Historia Microsoft Active Server Pages
sięga października 1996. Wtedy to wyszła wersja beta (beta v. 1.0) jako dodatek do
Internet Information Server (IIS) w wersji 2.0. Od tego momentu technologia ASP powoli
ale sukcesywnie się rozwijała. Powstała wersja 2.0 i wreszcie 3.0. W tych oto trzech
wersjach językiem domyślnym do pisania aplikacji internetowych był Visual Basic.
Korzystanie z tej technologii miało kilka wad. Przede wszystkim kod był interpretowany, a
nie kompilowany.
Visual Basic jako język domyślny zraził wielu webmasterów do technologii ASP mimo tego,
że od strony technicznej istniała możliwość skonfigurowania ASP by akceptował inne
języki takie jak Jscript czy Perl.
W 2000 roku Microsoft publikuje pakiet .NET Framework, a wraz z nim ulepsza ASP 3.0
do technologii ASP.NET 1.0 w wersji beta (znany także jako ASP+). Początkowo pakiet
.NET Framework miał się nazywać Next Generation Windows Services (w skrócie
NGWS), ale ostatecznie przyjął obecnie znaną nam nazwę. Wersje Beta 1 i 2 zostały
opublikowane odpowiednio w listopadzie 2000 roku oraz w czerwcu roku 2001.
Historia technologii
Stabilna wersja 1.0 była częścią pierwszego Visual Studia z serii .NET – Visual Studio
2002. Została ona opublikowana w pierwszym miesiącu 2002 roku. W tym oto momencie
wielu twórców aplikacji sądziło, że spełniły się ich marzenia. Od tamtego czasu mogli oni
korzystać z platformy o dużych możliwościach z wieloma wbudowanymi funkcjami, o
zaskakującej wydajności.
W roku 2003 ukazała się kolejna wersja Visual Studia, oznaczona numerem 2003 wraz z
.NET Framework 1.1, który jednocześnie staje się częścią systemu operacyjnego
Windows Server 2003. To, co cechowało wersję 1.1, to przede wszystkim rozbudowane
kontrolki mobilne dla aplikacji WWW, zmiany w podejściu do bezpieczeństwa, obsługa
nowych baz danych (Oracle) oraz urządzeń mobilnych (PDA).
Jak się okazało kluczowym dla rozwoju platformy był rok 2005, kiedy na rynku pojawiły się
jednocześnie dwa nowe produkty, a dokładniej: Visual Studio .NET 2005 oraz Microsoft
SQL Server 2005. Wraz z nimi pobrać można było .NET 2.0., który tym razem przyniósł
ogromne zmiany w stosunku do poprzednich znanych do tej pory edycji.
Historia technologii
Pod koniec roku 2006 została opublikowana wersja 3.0. Wraz z nią zostało zmienionych
bardzo dużo elementów związanych z warstwą prezentacji, warstwą dostępu do danych
oraz warstwą komunikacji. Wersja 3.0 stała się podstawowym elementem nowego
systemu operacyjnego Windows Vista. Globalna zmiana wyglądu programu pociągnęła za
sobą szereg zmian. Interfejs użytkownika przestał być już taki sam jak we wszystkich
aplikacjach – możliwe stało się tworzenie aplikacji o dowolnym wyglądzie.
Pod koniec roku 2007 światło dzienne
ujrzała nowa wersja .Net Framework
.NET Framework 3.5
opatrzona numerkiem 3.5, która zawiera
Additional
CLR Add-in
kilka nowych funkcji:
Linq
ASP.NET 3.5
Enhancements
Framework
• integracja Language Integrated Query
(LINQ)
.Net Framework 3.0
• ASP.NET AJAX - efektywniejsze tworzenie
Windows
Windows
Windows
aplikacji
dla
najpopularniejszych
Windows
Presentation
Communication
Workflow
Cardspace
przeglądarek internetowych;
Foundation
Foundation
Foundation
• obsługa nowych protokołów do budowy
.Net Framework 2.0 + SP1
serwisów WCF (m.in. AJAX, JSON, REST,
POX, RSS, ATOM)
• pełna obsługa WF, WCF i WPF.
Składniki .NET Framework 3.5
Historia technologii
Wersja .NET Frameworks
Data ukazania
1.0 Beta 1 2000-11
1.0 Beta 2 2001-06-20
1.0 RTM 2002-01-05
1.0 SP1 2002-03-19
1.0 SP2 2002-08-07
1.0 SP3 2004-08-31
1.1 RTM 2003-04-01
1.1 SP1 2004-08-30
1.1 SP2 2005-03-30
2.0 RTM 2005-11-07
3.0 RTM 2006-11-06
3.5 Beta 1 2007-04-27
3.5 Beta 2 2007-07-26
3.5 2007-11-19
Historia technologii
Wersja CLR
Obsługiwane języki
programowania
Podstawowe biblioteki
System operacyjny
Wersja Visual Studio
1.0
1.1
2.0
3.0
3.5
1.0
1.1
2.0
2.0
2.0
VB.NET, C#
VB.NET, C#,
C++, J#
VB.NET, C#,
C++, J#
VB.NET, C#,
C++, J#
VB.NET, C#,
C++, J#, LINQ
ADO.NET 1.0
ASP.NET 1.0
XML
ASMX
ADO.NET 1.1
ASP.NET 1.1
XML
ASMX
WSE 2.0
ADO.NET 2.0
ASP.NET 2.0
XML
ASMX
WSE 3.0
WCF
WPF
WF
WCS
AJAX.ASP.NE
T
95, 98, ME,
2000, 2000
Server, XP
95, 98, ME,
2000, 2000
Server, XP,
2003 Server
95, 98, ME,
2000, 2000
Server, XP,
2003 Server
XP SP2, 2003
Server SP1,
Vista
XP SP2, 2003
Server SP1,
Vista
2002
2003
2005
2005
2008
W czym tworzyć?
Tworzenie aplikacji wykorzystujących .NET Framework ułatwia środowisko
programistyczne Visual Studio .NET (aktualną wersją jest Visual Studio 2008, które
zostało opublikowane pod koniec 2007 roku). Owe środowisko programistyczne
wprowadza wiele ułatwień dla programistów, skracając czas budowania interfejsu
użytkownika czy mechanizmów komunikacji, tak że programista może skupić się nad tym,
co jest najistotniejsze. Ponadto warto jeszcze raz wspomnieć, że .NET Framework oraz
Visual Studio obsługuje C++, C#, Visual Basic, Jscript, J#. Ponadto firmy tworzą
rozszerzenia dla swoich języków, tak aby obsługiwały platformę .NET. Do takich języków
można zaliczyć: COBOL, Eiffel, Perl, Python, Smalltalk i inne. Razem istnieje około 40
języków, które są zgodne z .NET Framework.
Jak stworzyć serwer?
Serwery obsługujące ASP.NET są zbudowane na systemach operacyjnych Microsoftu.
Warto dodać, że od niedawna istnieje także możliwość używania języków VB i C# na
innym systemie operacyjnym, dzięki takim projektom jak Mono (http://www.monoproject.com)
Niezbędne oprogramowanie:
• Internetowe Usługi Informacyjne. IIS jest serwerem internetowym przeznaczonym do
uruchamiania aplikacji internetowych ASP.NET. Do jego zainstalowania i konfiguracji
potrzebna jest najczęściej płyta instalacyjna Windows. Niestety niektóre wersje Windows
(np. Win XP Home Edition) nie obsługują IIS.
• .NET Framework Podstawa ASP.NET. Podczas instalacji .NET Framework,
automatycznie instalują się wszystkie pliki wymagane do uruchomienia ASP.NET.
Praktycznie każdy komputer posiada już go, gdyż Windows sam go instaluje poprzez
aplikację Windows Update.
Jak stworzyć serwer?
Pomocne oprogramowanie:
• .NET Framework Software Development Kit (SDK). Jest to darmowe oprogramowanie
zawierające narzędzia niezbędne do tworzenie aplikacji internetowych, debugger do
poprawiania błędów oraz zestaw przykładów i dokumentacji.
• Microsoft SQL Server 200x Express Edition. Baza danych. Jest to darmowa, ale nadal
funkcjonalna wersja programu SQL Server 200x.
• SQL Server Management Studio Express. Wizualne narzędzie do zarządzania baz
danych SQL ponieważ powyższy program ich nie posiada.
Zgodność z przeglądarkami
Jak wiadomo technologia ASP.NET została stworzona przez Microsoft. Łatwo z tego
wywnioskować, że Internet Explorer radzi sobie z odczytem stron wysłanych przez serwer
bezproblemowo. Gorzej natomiast wygląda sytuacja z konkurencyjnymi przeglądarkami.
Ból ten dotyczy głównie poprzednich wersji ASP.NET (a dokładniej 1.0 i 1.1). Były one
krytykowane za brak zgodności ze standardami. Generowany HTML i skrypty JavaScript,
które to jak wiemy wysyła serwer do przeglądarki klienta odbiegały od standardów
W3C/ECMA. Ponadto niekiedy do serwera trafiały niepoprawne dane o naszej
przeglądarce (spotykało to tylko posiadaczy przeglądarek innych niż Internet Explorer) co
powodowało, że serwer wysyłał do klientów kod pozbawiony niektórych części, które
według webmastera miały się pojawić w przeglądarce użytkownika aplikacji internetowej.
Ponadto trzeba pamiętać, że nie każda przeglądarka jest w stanie tak samo odczytać kod
HTML i przede wszystkim JaveScript (w szczególności tyczy się to trzeciej pod względem
popularności w Polsce Operze)
Zgodność z przeglądarkami
Wraz z pojawieniem się wersji 2.0 znikł już problem poprawności kodu. Serwer generował
kod zgodne z HTML 4.0, XHTML 1.0 (ustawienie domyślne) lub XHTML w wersji 1.1.
Ponadto poprawiła się lepsza detekcja naszych przeglądarek oraz wzrosło wsparcie dla
Cascading Style Sheet (CSS).
Zaleta ASP.NET jak i każdej technologii korzystającej z architektury klient-serwer jest to,
że do przeglądarki trafia czysty HTML (wraz z na przykład JavaScript-em), a więc do
odtworzenia stron napisanych dzięki technologii ASP.NET wystarczy nam zwykła
przeglądarka bez dodatkowych pluginów. W takim razie webmaster nie musi martwić się o
to czy sprzęt odwiedzającego naszą stronę użytkownika będzie zgodny z językiem lub
narzędziami, które używasz.
Popularność technologii ASP.NET
Platforma .NET niesie ze sobą wiele korzyści zarówno dla twórców stron WWW, jak i firm
decydujących się na zaprojektowanie witryny w tej technologii. .NET jest nowoczesnym i
funkcjonalnym systemem, który na całym świecie współistnieje zgodnie z innymi
rozwiązaniami dostępnymi na rynku, a w niektórych krajach jest nawet ofertą dominującą.
Microsoft .NET powoli staje się nowym standardem.
Sytuacja w Polsce wygląda jednak inaczej. Wynika to z tego, że osoby tworzące aplikacje
internetowe bardzo często skupiają się tylko na darmowych narzędziach Open Source
(np. używają technologii PHP) ze względu na koszty. Ponadto w porównaniu z PHP liczba
dostępnych serwerów oferowanych przez firmy hostingowe w Polsce jest dość uboga.
Warto zaznaczyć, że zakup takiego konta obsługującego ASP.NET jest także większym
wydatkiem niż typowego konta PHP-owskiego. Zatem rzadko kto decyduje swoją
prywatną stronę wykonać w tej technologii stworzonej przez Microsoft.
Jednak uważam, że z czasem i w Polsce ASP.NET zyska większa popularność. Zapewne
Microsoft spróbuje wykorzystać sytuację, że w Polsce to on w większości dostarcza
oprogramowanie dla szkół.
Czy ASP.NET jest łatwą technologią?
Ciężko na to pytanie jednoznacznie odpowiedzieć. Naszym zdaniem jest to technologia
łatwiejsza od PHP co nie oznacza, że jest gorsza czy lepsza. Jest po prostu inna.
Programiści piszący w ASP.NET zyskują możliwość pracy w wydajnym środowisku
programistycznym, które to dostarcza wielu ciekawych narzędzi i funkcji.
Tworzenie stron internetowych polega tutaj w dużej mierze na wykorzystywaniu gotowych
obiektów za pomocą drag&drop, do których po prostu przypisujemy określone akcje.
Wszystko zgodnie z zasadą „po co tracić czas na coś, co już zostało opracowane przez
kogoś, i to prawdopodobnie lepiej”.
Trzeba pamiętać także, że nieważne jest to, w jakim języku programowania tworzymy
aplikacje. Platforma .NET obsługuje ASP, JavaScript, C#, C++, VBA i wiele innych składni,
a następnie pozwala łączyć utworzone w nich programy w jedną aplikację.
Czy ASP.NET jest łatwą technologią?
Microsoft .NET to przede wszystkim wizja innego sposobu tworzenia aplikacji. I nie będzie
to aplikacja zaśmiecająca internet stworzona przez program typu WYSIWYG (What You
See Is What You Get), a naprawdę strona zgodna z obowiązującymi standardami. Warto
przypomnieć, że .NET zawiera olbrzymią liczbę klas bazowych, które to obejmują bardzo
szeroki zakres usług: obsługę plików, grafiki i strumieni, obsługę plików XML, komunikację
sieciową etc. Trzeba także wspomnieć o urządzeniach przenośnych, które na całym
świecie stają się coraz to bardziej popularne. Środowisko .NET Compact Framework,
które zawiera się w .NET Framework pozwala pisać aplikacje przeznaczone właśnie na te
urządzenia przenośne (smartfon, PocketPC). Dziś już nie ma wątpliwości, że warto się
zainteresować pracą z tą platformą.
Dziękujemy za uwagę