net - możliwości

23
.NET - możliwości .NET - możliwości Jarosław Balcer Jarosław Balcer & Jan Góralski Jan Góralski

Upload: lyris

Post on 18-Jan-2016

49 views

Category:

Documents


0 download

DESCRIPTION

.NET - możliwości. Jarosław Balcer & Jan Góralski. .NET właściwości. Budowanie aplikacji przeznaczonych na różne platformy. W szczególności : Dla urządzeń mobilnych, „Inteligentne telefony”, Aplikacje windows, Aplikacje Web. .NET właściwości. Zalety: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: NET - możliwości

.NET - możliwości.NET - możliwości

Jarosław BalcerJarosław Balcer && Jan GóralskiJan Góralski

Page 2: NET - możliwości

.NET właściwości.NET właściwości

Budowanie aplikacji przeznaczonych na różne platformy.Budowanie aplikacji przeznaczonych na różne platformy.

W szczególności :W szczególności :

Dla urządzeń mobilnych, Dla urządzeń mobilnych, „„Inteligentne telefony”,Inteligentne telefony”, Aplikacje windows,Aplikacje windows, Aplikacje Web Aplikacje Web

Page 3: NET - możliwości

.NET właściwości.NET właściwości

Zalety:Zalety: kod tworzony na różne platformy różni się w niewielkim kod tworzony na różne platformy różni się w niewielkim

stopniu,stopniu, główna różnica polega na określeniu dedykowanej główna różnica polega na określeniu dedykowanej

platformy podczas tworzenia workspace projektu.platformy podczas tworzenia workspace projektu.

Page 4: NET - możliwości

.NET – Gadu-Gadu .NET – Gadu-Gadu

Zakres aplikacji:Zakres aplikacji:

Stworzenie aplikacji dedykowanej na platformy Stworzenie aplikacji dedykowanej na platformy PocketPc, Windows, www wykorzystującej WebServices PocketPc, Windows, www wykorzystującej WebServices umożliwiającej rozmowy poprzez Internet.umożliwiającej rozmowy poprzez Internet.

Wykorzystana technologia:Wykorzystana technologia: WebServices,WebServices, ASP.NET,ASP.NET, C#C#

Page 5: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduSerwerSerwer

1.1. Tworzymy projekt ASP. NET Web Services. Określamy adres pod Tworzymy projekt ASP. NET Web Services. Określamy adres pod którym ma być dostępny serwer. W przypadku, gdy jeden komputer którym ma być dostępny serwer. W przypadku, gdy jeden komputer jest zarówno klientem aplikacji jak też serwerem może być to np. jest zarówno klientem aplikacji jak też serwerem może być to np. localhost/nazwaProjektu.localhost/nazwaProjektu.

Page 6: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduSerwerSerwer

2. Nie wykorzystujemy bazy danych, aplikacja nie przechowuje archiwum 2. Nie wykorzystujemy bazy danych, aplikacja nie przechowuje archiwum wiadomości. Aby jakoś przechowywać informacje możemy utworzyć wiadomości. Aby jakoś przechowywać informacje możemy utworzyć obiekt na serwerze przechowujący nasze wiadomości. Tworzymy obiekt na serwerze przechowujący nasze wiadomości. Tworzymy obiekt DataSet. W tym celu musimy dodać nowy element w menu obiekt DataSet. W tym celu musimy dodać nowy element w menu podręcznym projektu.podręcznym projektu.

Page 7: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduSerwerSerwer

3. Aby nasz DataSet miał trwałą instancję tworzoną podczas 3. Aby nasz DataSet miał trwałą instancję tworzoną podczas uruchomienia aplikacji lub stworzenia nowej sesji należy zmodyfikowac uruchomienia aplikacji lub stworzenia nowej sesji należy zmodyfikowac plik zawierajacy procedury uruchamiania aplikacji. Plik Global.asax.plik zawierajacy procedury uruchamiania aplikacji. Plik Global.asax.

namespace EveretKiKWebService {     public class Global : System.Web.HttpApplication     {          protected void Application_Start(Object sender, EventArgs e)          {

              Application["DS"]=new dsData();          }     }}

Application – globalny obiekt, wspólny dla wszystkich sesji„DS” – oznacza klucz do instancji obiektu DataSet

Page 8: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduSerwerSerwer

4. Implementacja usługi Web. W tym celu należy dodać element Web 4. Implementacja usługi Web. W tym celu należy dodać element Web o nazwie o nazwie Repository.asmx. Repository.asmx. Robimy to w identyczny sposób jak Robimy to w identyczny sposób jak DataSet. Jest to główny plik obsługujący aplikację po stronie serwera. DataSet. Jest to główny plik obsługujący aplikację po stronie serwera.

namespace EveretKiKWebService{   public class Repository : System.Web.Services.WebService   {

      [WebMethod]      public DataSet Append(String from,String tekst) {       dsData ds=(dsData) Application["DS"];       ds.MyData.AddMyDataRow(from + " - " + tekst);       ///Ograniczenie wielkości       if(ds.MyData.Rows.Count>20) ds.MyData.Rows[0].Delete();       return ds;     } 

     [WebMethod]     public DataSet Get() {       return (DataSet)Application["DS"];}}}

Page 9: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduKlient – Windows FormKlient – Windows Form

1. Stworzenie projektu. W tym przypadku postępujemy już standardowo. 1. Stworzenie projektu. W tym przypadku postępujemy już standardowo. Tworzymy projekt wybierając C#, aplikacje Windows Form.Tworzymy projekt wybierając C#, aplikacje Windows Form.

2. Tworzymy prosty interfejs obsługujący klienta. 2. Tworzymy prosty interfejs obsługujący klienta.

Lista, do przechowywania tekstów

Pola edycyjne

Page 10: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduKlient – Windows FormKlient – Windows Form

3. Następnie należy dodac do naszego okna usługę Web. W tym celu należy 3. Następnie należy dodac do naszego okna usługę Web. W tym celu należy Wybrać w menu podręcznym projektu opcję Web Reference i dalej Add Web Wybrać w menu podręcznym projektu opcję Web Reference i dalej Add Web Reference. Następnym krokiem jest wskazanie adresu serwera Web. Mamy 3 Reference. Następnym krokiem jest wskazanie adresu serwera Web. Mamy 3 możliwości: przeglądanie usług na lokalnym serwerze, wyszukanie serwera w możliwości: przeglądanie usług na lokalnym serwerze, wyszukanie serwera w sieci lokalnej, skorzystanie z serwera odległego, poprzez Internet.sieci lokalnej, skorzystanie z serwera odległego, poprzez Internet.

Page 11: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduKlient – Windows FormKlient – Windows Form

Ostatnią operacją, jaką należy wykonać, jest wykonanie interfejsu Ostatnią operacją, jaką należy wykonać, jest wykonanie interfejsu użytkownika.użytkownika.

Wywołanie usługi Web jest bardzo proste. Najpierw należy stworzyć instancję klasy MyWebService:

 MyWebService.Repository ws=new MyWebService.Repository();

Następnie można już wywoływać poszczególne metody – co odpowiada wywołaniu usługi Web:

 ws.Append("Przykładowytekst","Przykładowy tekst");

Page 12: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduKlient – Windows FormKlient – Windows Form

Wprowadzane komunikaty zamierzamy wyswietlać w listMsg w Wprowadzane komunikaty zamierzamy wyswietlać w listMsg w klejności wprowadzania. W tym celu w klasie dodana została zmienna klejności wprowadzania. W tym celu w klasie dodana została zmienna typu DataSet (o nazwie dataSet1). typu DataSet (o nazwie dataSet1).

namespace WinKiK{namespace WinKiK{

   DataSet dataSet1=new DataSet();DataSet dataSet1=new DataSet();   private void MyBind() {private void MyBind() {

listMsg.DataSource=dataSet1.Tables[0];listMsg.DataSource=dataSet1.Tables[0];listMsg.DisplayMember="Info";listMsg.DisplayMember="Info";

   }}}}

Ostatecznie funkcja obsługująca „kliknięcie” na przycisk cmdSend ma postać:Ostatecznie funkcja obsługująca „kliknięcie” na przycisk cmdSend ma postać:

      private void cmdSend_Click(object sender, System.EventArgs e) {private void cmdSend_Click(object sender, System.EventArgs e) {          MyWebService.Repository ws=new MyWebService.Repository();MyWebService.Repository ws=new MyWebService.Repository();          dataSet1=ws.Append(txtFrom.Text,txtText.Text);dataSet1=ws.Append(txtFrom.Text,txtText.Text);          MyBind();MyBind();      }}

Page 13: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduKlient – Windows FormKlient – Windows Form

Gotowa aplikacja kliencka Gotowa aplikacja kliencka

Page 14: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-Gadu program dla PocketPCprogram dla PocketPC

Następny przykład przedstawia aplikacje stworzoną na platformę Następny przykład przedstawia aplikacje stworzoną na platformę PocketPC (2000 i 2002), oraz ew. na inne urządzenia wyposażone w PocketPC (2000 i 2002), oraz ew. na inne urządzenia wyposażone w Windows CE. Aplikacje takie korzystają z motoru .NET Compact Windows CE. Aplikacje takie korzystają z motoru .NET Compact Framework, który pozwala uruchamiać na komputerach typu PDA Framework, który pozwala uruchamiać na komputerach typu PDA programy .NET.programy .NET.

W celu stworzenia nowego W celu stworzenia nowego projektu należy wybrać wzorzec projektu należy wybrać wzorzec Smart Device Application.Smart Device Application.

Page 15: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-Gadu program dla PocketPCprogram dla PocketPC

Nastepnie mamy możliwość wyboru konkretnej platformy na Nastepnie mamy możliwość wyboru konkretnej platformy na którą kierowana jest aplikacja . W naszym przypadku należy którą kierowana jest aplikacja . W naszym przypadku należy wybrać platformę Pocket PC i typ projektu Windows wybrać platformę Pocket PC i typ projektu Windows Application.Application.

W nowo powstałej formatce W nowo powstałej formatce tworzymy GUI podobny do tworzymy GUI podobny do poprzedniego.poprzedniego.

Page 16: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-Gadu program dla PocketPCprogram dla PocketPC

Dodawanie usługi Web odbywa się w taki sam sposób jak w Dodawanie usługi Web odbywa się w taki sam sposób jak w przypadku aplikacji Windows Forms.przypadku aplikacji Windows Forms.

Obluga zdarzeń.Obluga zdarzeń.Dzięki temu, że API .NET Compact Framework jest niemal Dzięki temu, że API .NET Compact Framework jest niemal takie samo jak w „dużym” .NET, nawet kod uruchamiany na takie samo jak w „dużym” .NET, nawet kod uruchamiany na urządzeniu PDA będzie identycznyurządzeniu PDA będzie identyczny

Dokładnie w taki sam sposób wywoływana jest usługa Web, Dokładnie w taki sam sposób wywoływana jest usługa Web, tak samo odczytywany jest tekst wprowadzony w pola tak samo odczytywany jest tekst wprowadzony w pola tekstowe. Co więcej – dokładnie w taki sam sposób tekstowe. Co więcej – dokładnie w taki sam sposób obsługiwany jest DataSet. Praktycznie (poza wyglądem) nie obsługiwany jest DataSet. Praktycznie (poza wyglądem) nie ma różnic pomiędzy Windows Forms działającym na dużym ma różnic pomiędzy Windows Forms działającym na dużym PC-cie a programem przeznaczonym dla PDA.PC-cie a programem przeznaczonym dla PDA.

Page 17: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-Gadu program dla PocketPCprogram dla PocketPC

namespace SdaKiKnamespace SdaKiK{{          public class Form1 : System.Windows.Forms.Formpublic class Form1 : System.Windows.Forms.Form          {{

      private DataSet dataSet1;private DataSet dataSet1;         private void MyBind() {private void MyBind() {            listMsg.DataSource=dataSet1.Tables[0]; listMsg.DataSource=dataSet1.Tables[0];  listMsg.DisplayMember="Info";listMsg.DisplayMember="Info"; }}      private void cmdSend_Click(object sender, System.EventArgs e) {private void cmdSend_Click(object sender, System.EventArgs e) {        MyWebService.Repository ws=new MyWebService.Repository();MyWebService.Repository ws=new MyWebService.Repository();        dataSet1=ws.Append(txtFrom.Text,txtText.Text);dataSet1=ws.Append(txtFrom.Text,txtText.Text);            MyBind();MyBind();        }}        private void cmdRefresh_Click(object sender, System.EventArgs e) {private void cmdRefresh_Click(object sender, System.EventArgs e) {            MyWebService.Repository ws=new MyWebService.Repository();MyWebService.Repository ws=new MyWebService.Repository();            dataSet1=ws.Get();dataSet1=ws.Get();            MyBind();MyBind();        }}}}

Page 18: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-Gadu program dla PocketPCprogram dla PocketPC

Page 19: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduAplikacja Web Forms dla urządzeń mobilnychAplikacja Web Forms dla urządzeń mobilnych

W Visual Studio 2003 poza tworzeniem standardowych W Visual Studio 2003 poza tworzeniem standardowych aplikacji okienkowych na urządzenia przenośne jest także aplikacji okienkowych na urządzenia przenośne jest także możliwość utworzenia specjalnej strony internetowej, która możliwość utworzenia specjalnej strony internetowej, która będzie prawidłowo wyświetlana na wiekszości urządzeń będzie prawidłowo wyświetlana na wiekszości urządzeń przenośnych.przenośnych.Dzięki ASP.NET Mobile Designer tworzenie stron odbywa się Dzięki ASP.NET Mobile Designer tworzenie stron odbywa się dokładnie tak samo jak pisanie „zwykłych” stron ASP.NET.dokładnie tak samo jak pisanie „zwykłych” stron ASP.NET.

Ponieważ przeglądarki internetowe dostępne na urządzenia Ponieważ przeglądarki internetowe dostępne na urządzenia mobilne w różny sposób wyświetlają nawet poprawne strony mobilne w różny sposób wyświetlają nawet poprawne strony WML czy HTML, bardzo ważne jest by witryna potrafiła się WML czy HTML, bardzo ważne jest by witryna potrafiła się „dostosować” do wymagań danego urządzenia klienckiego. „dostosować” do wymagań danego urządzenia klienckiego. Odpowiednio konfigurując ASP.NET po stronie serwera można Odpowiednio konfigurując ASP.NET po stronie serwera można określić, w jaki sposób będzie wykrywany typ przeglądarki, i określić, w jaki sposób będzie wykrywany typ przeglądarki, i jak dokładnie będą renderowane strony.jak dokładnie będą renderowane strony.

Page 20: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduAplikacja Web Forms dla urządzeń mobilnychAplikacja Web Forms dla urządzeń mobilnych

Aby dodać nowy projekt wykorzystujący Mobile Web Controls, w Aby dodać nowy projekt wykorzystujący Mobile Web Controls, w oknie New Project należy wybrać pozycję ASP.NET Mobile Web oknie New Project należy wybrać pozycję ASP.NET Mobile Web Application.Application.

Page 21: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduAplikacja Web Forms dla urządzeń mobilnychAplikacja Web Forms dla urządzeń mobilnych

Tworzymy prosty interfejs obsługujący klienta. Tworzymy prosty interfejs obsługujący klienta.

Page 22: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduAplikacja Web Forms dla urządzeń mobilnychAplikacja Web Forms dla urządzeń mobilnych

Stworzenie nowego projektu z uslugą Web odbywa się w taki Stworzenie nowego projektu z uslugą Web odbywa się w taki sam sposób jak w przypadku innych typów aplikacji. W Solution sam sposób jak w przypadku innych typów aplikacji. W Solution Explorer należy kliknąć na Web Reference i z menu podręcznego pod Explorer należy kliknąć na Web Reference i z menu podręcznego pod prawym przyciskiem wybrać Add Web Reference. Następnie należy prawym przyciskiem wybrać Add Web Reference. Następnie należy wskazać adres serwera i ścieżkę do usługi Web.wskazać adres serwera i ścieżkę do usługi Web.

Dodawanie kodu obsługi zdarzenia dla aplikacji Web przeznaczonej Dodawanie kodu obsługi zdarzenia dla aplikacji Web przeznaczonej dla urządzeń mobilnych wygląda dokładnie tak samo jak w przypadku dla urządzeń mobilnych wygląda dokładnie tak samo jak w przypadku „dużej” strony ASP.NET „dużej” strony ASP.NET

Warto dodać, że kod rozwiązania dla ASP.NET i ten, gdzie Warto dodać, że kod rozwiązania dla ASP.NET i ten, gdzie wykorzystywane są kontrolki „mobilne” jest identyczny. Tak samo wykorzystywane są kontrolki „mobilne” jest identyczny. Tak samo wywołujemy usługę Web, tak samo odwołujemy się do właściwości wywołujemy usługę Web, tak samo odwołujemy się do właściwości itp. Model obiektowy Mobile Web Forms i Web Forms jest bardzo itp. Model obiektowy Mobile Web Forms i Web Forms jest bardzo zbliżony.zbliżony.

Page 23: NET - możliwości

.NET – Gadu-Gadu.NET – Gadu-GaduAplikacja Web Forms dla urządzeń mobilnychAplikacja Web Forms dla urządzeń mobilnych

Po skompilowaniu programu można go uruchomić. Standardowo, Po skompilowaniu programu można go uruchomić. Standardowo, strony wykorzystujące Mobile Web Forms są uruchamiane w Internet strony wykorzystujące Mobile Web Forms są uruchamiane w Internet Explorer (tak jak „normalne” strony ASP.NET).Explorer (tak jak „normalne” strony ASP.NET).