SlideShare a Scribd company logo
1 of 21
Aplikacje internetowe
Definicja aplikacji


Aplikacja w informatyce to podzbiór oprogramowania
komputerowego przeznaczonego bezpośrednio dla
użytkownika, wykonująca określoną grupę zadań.

Tradycyjną aplikacją nazwiemy taką, która jest wykonywana
przez system operacyjny i wykorzystuje jedynie zasoby
komputera, na którym została uruchomiona.
Aplikacja internetowa


Aplikacja internetowa jest aplikacją wykorzystującą do
pracy zasoby rozproszonych komputerów
podłączonych do sieci internet

Rich Text Apliccation – definicja Macromedii odnosząca się
   przede wszystkim do technologii flash
Rich Web Agent – bogaty klient najczęściej przeglądarka
   internetowa
CZĘŚĆ PIERWSZA:

Architektura aplikacji internetowych
Główne cechy

➲   Architektura rozproszona, warstwowa,
    client-server
➲   Działa w sieci internet
➲   Wiele użytkowników
➲   Wielka moc obliczeniowa
➲   Standardy
Warstwy

➲   Warstwa danych – baza danych
➲   Warstwa sesji – serwer WWW
➲   Warstwa prezentacji – najczęściej
    przeglądarka internetowa
Wymiana danych między warstwami
Warstwa danych

➲   Realizowana przez bazy danych
➲   Może być to system plików
➲   Wsparcie transakcjami kluczowych
    informacji
➲   Wielodostępność
Warstwa sesji

➲   Realizowana przez serwer WWW lub
    serwer aplikacyjny
➲   Zarządzanie sesjami użytkowników
➲   Caching wyników zapytań do warstwy
    danych
➲   Możliwa specjalizacja
Warstwa prezentacji

➲   Realizowana najczęściej przez
    przeglądarkę internetową
➲   Prezentacja danych
➲   Interfejs użytkownika
➲   Wykonywanie obliczeń
➲   Logika interfejsu
Podsumowanie

➲   Wielkie możliwości prezentacyjne
➲   Logika interfejsu użytkownika po stronie
    klienta
➲   Obliczenia (wielki rozproszony klaster)
➲   Prostota (brak instalacji i utrzymania po
    stronie użytkownika)
CZĘŚĆ DRUGA:

Przeglądarka internetowa
Przeglądarka internetowa

Najczęściej używany program do
wyświetlania wyników działania aplikacji
internetowej umożliwiająca:
 ➲ Prezentację treści
 ➲ Obliczenia
 ➲ Zakodowanie logiki interfejsu użytkownika
Zasada działania

Schemat generacji strony internetowej
Zasada działania

Schemat w jakim działa przeglądarka internetowa
JavaScript

Język skryptowy przeglądarek internetowych
oparty o paradygmat prototypowy
Cechy języka

➲   Słaba typizacja
➲   Obiekty jako kontenery (słowniki)
➲   Dziedziczenie prototypowe
➲   Rachunek Lambda
➲   Domknięcia (podobnie jak w
    paradygmacie funkcyjnym)
Cechy C.D.

➲   Występuje tylko jeden typ danych – obiekt
➲   Zapożycza wiele ideii języków funkcyjnych
➲   Składnia jest podobna do C
➲   Funkcje są obiektami!
➲   Parametry funkcji są dostępne przez
    obiekt attributes
➲   Literały obiektów
Prototyp

o=function()
{
   lokalnyAtrybut1=wartosc1
   lokalnyAtrybut2=wartosc2
   lokalnyAtrybut3=wartosc3
   instrukcja1
   instrukcja2
   ...
   instrukcjaN
}

o.prototype={
   atrybut1=wartosc1,
   atrybut2=wartosc2,
   ...
   atrybutN=wartoscN,
}
Scalanie obiektów

merge=function(from,to)
{
   for (var i in from)
      if (typeof from[i]=='object' && !
(from[i] instanceof Array))
      {
         if(to[i]===undefined)
            to[i]={}
         rMerge(from[i],to[i])
      }
      else
         (typeof to=='object') ? 
to[i]=from[i] : to.push(from[i])
Podsumowanie

➲   Wielkie możliwości
➲   Prostota zapisu trudnych algorytmów
➲   Krótki kod
➲   Trudności przy nauce (mało znany
    paradygmat funkcyjny i prototypowy)

More Related Content

What's hot (20)

Standard data-types-in-py
Standard data-types-in-pyStandard data-types-in-py
Standard data-types-in-py
 
Python GUI
Python GUIPython GUI
Python GUI
 
Android activity lifecycle
Android activity lifecycleAndroid activity lifecycle
Android activity lifecycle
 
How to implement Google One Tap Login in Reactjs?
How to implement Google One Tap Login in Reactjs?How to implement Google One Tap Login in Reactjs?
How to implement Google One Tap Login in Reactjs?
 
Visualization and Matplotlib using Python.pptx
Visualization and Matplotlib using Python.pptxVisualization and Matplotlib using Python.pptx
Visualization and Matplotlib using Python.pptx
 
Reflection in C Sharp
Reflection in C SharpReflection in C Sharp
Reflection in C Sharp
 
Python programming : Exceptions
Python programming : ExceptionsPython programming : Exceptions
Python programming : Exceptions
 
Observer design pattern
Observer design patternObserver design pattern
Observer design pattern
 
Generics C#
Generics C#Generics C#
Generics C#
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
Vertx
VertxVertx
Vertx
 
Java beans
Java beansJava beans
Java beans
 
Servlet
Servlet Servlet
Servlet
 
OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ OO Design and Design Patterns in C++
OO Design and Design Patterns in C++
 
Ruby
RubyRuby
Ruby
 
Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayPython Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard Way
 
React state managmenet with Redux
React state managmenet with ReduxReact state managmenet with Redux
React state managmenet with Redux
 
Android share preferences
Android share preferencesAndroid share preferences
Android share preferences
 
Java interfaces
Java interfacesJava interfaces
Java interfaces
 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in java
 

Similar to Aplikacje internetowe (2010)

Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftBiznes 2.0
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureWebhosting.pl
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do AspKelut
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?javOnet
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Domain Driven Development
Domain Driven DevelopmentDomain Driven Development
Domain Driven DevelopmentKonrad Russa
 
Praktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. IPraktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. ILaravel Poland MeetUp
 
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...HighSolutions Sp. z o.o.
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developeraTomasz Borowski
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?PHPCon Poland
 
Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azurepbubacz
 
Nowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychNowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychMarcin Daczkowski
 
JavaScript. Ćwiczenia praktyczne. Wydanie II
JavaScript. Ćwiczenia praktyczne. Wydanie IIJavaScript. Ćwiczenia praktyczne. Wydanie II
JavaScript. Ćwiczenia praktyczne. Wydanie IIWydawnictwo Helion
 
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiGrzegorz Bartman
 

Similar to Aplikacje internetowe (2010) (20)

Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows Azure
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do Asp
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Budowanie sieci Grid
Budowanie sieci GridBudowanie sieci Grid
Budowanie sieci Grid
 
Domain Driven Development
Domain Driven DevelopmentDomain Driven Development
Domain Driven Development
 
Praktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. IPraktyczne użycie Repository Pattern w Laravel cz. I
Praktyczne użycie Repository Pattern w Laravel cz. I
 
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
Laravel Poznań Meetup #7 - "Praktyczne użycie Repository Pattern w Laravel cz...
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developera
 
Iron Python I Dlr
Iron Python I DlrIron Python I Dlr
Iron Python I Dlr
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
 
Silverlight i PHP
Silverlight i PHPSilverlight i PHP
Silverlight i PHP
 
Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azure
 
WF w zastosowaniach Web
WF w zastosowaniach WebWF w zastosowaniach Web
WF w zastosowaniach Web
 
Nowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji WebowychNowe Trendy W Projektowaniu Aplikacji Webowych
Nowe Trendy W Projektowaniu Aplikacji Webowych
 
JavaScript. Ćwiczenia praktyczne. Wydanie II
JavaScript. Ćwiczenia praktyczne. Wydanie IIJavaScript. Ćwiczenia praktyczne. Wydanie II
JavaScript. Ćwiczenia praktyczne. Wydanie II
 
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
 

Aplikacje internetowe (2010)