Systemy operacyjne dla telefonów komórkowych i urządzeń typu smartphone



Podobne dokumenty
Google Android. Opracował Maciej Ciurlik

Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android

Android - wprowadzenie. Łukasz Przywarty

SOP System Obsługi Parkingów

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład

Mobilne systemy operacyjne. Adam Malizjusz, Piotr Galanek

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Systemy operacyjne na urządzenia mobilne

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

Programowanie dla Androida. Ubiquitous

Windows Mobile. Andy Wigley, Daniel Moth, Peter Foot, Microsoft Mobile Development Handbook, Microsoft Press 2007

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Środowiska i platformy programistyczne

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

OSGi Agata Hejmej

Cloud Customers Relationships Wymagania wersja systemu:

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Zagadnienia wstępne WSTĘP DO PROGRAMOWANIA APLIKACJI MOBILNYCH DLA SYSTEMU ANDROID

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Tworzenie aplikacji na platformie Android

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

BUDOWA APLIKACJI NA PLATFORMĘ IPHONE/IPAD. dr inż. Marcin Tomana

Czym jest Android Architektura systemu Cechy platformy Android

Programowanie dla ios

Systemy operacyjne na platformach mobilnych

Autor : Mateusz Kupczyk

OpenGL Embedded Systems

Systemy operacyjne na platformach mobilnych

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Piotr Orzechowski. Technologie Biznesu Elektronicznego

Elektroniczna Legitymacja Studencka jako narzędzie wielofunkcyjne Oberthur Technologies

MOBILNA BANKOWOŚĆ potrzeba czy moda?

Wymagania systemowe dla Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Wymagania systemowe dla Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2017 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

WPAM. W5 Android bardzo krótkie wprowadzenie. Piotr Gawrysiak

mobilne Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski Systemy operacyjne na urzadzenia mobilne Konrad Błaszkiewicz

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

Programowanie dla ios

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

CMS, CRM, sklepy internetowe, aplikacje Web

Agenda. Wprowadzenie do Androida

Wymagania systemowe dla Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

Programowanie aplikacji mobilnych

1. Wstęp. 2. Metodyki tworzenia aplikacji mobilnych

Android, wprowadzenie do SDK

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

KARTA KURSU. Projektowanie aplikacji mobilnych

Różnice pomiędzy programowaniem dla różnych platform. Rafał Pieszczek IT Specialist, Symetria

Mobilny system operacyjny Android

IO - Plan wdrożenia. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Wstęp do Informatyki. Klasyfikacja oprogramowania

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Przetwarzanie danych w chmurze

OpenLaszlo. OpenLaszlo

Instrukcja instalacji oprogramowania dla środowiska Windows

Android tworzenie aplikacji mobilnych

Systemy operacyjne na urządzenia mobilne. Piotr Jastrzębski Piotr Laskowski Maciej Szarliński Tomasz Turski

Podstawy programowania. Wprowadzenie

Q E M U.

Specjalność: (ASI) Systemy informatyczne w automatyce Stopień studiów i forma: I stopień, stacjonarna Kod przedmiotu: Grupa kursów:

WPAM. W5 Android bardzo krótkie wprowadzenie. Piotr Gawrysiak.

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Emulacja maszyny. Program udaje zupełnie inną architekturę. Musi przetłumaczyć instrukcje emulowane na instrukcje platformy, na której działa

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

ZAPOZNANIE SIĘ ZE ŚRODOWISKIEM MICROSOFT VISUAL STUDIO 2005 WYKORZYSTYWANYM W

JDK 7u25 NetBeans Zajęcia 1 strona - 1

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

WPROWADZENIE DO JĘZYKA JAVA

Android (system operacyjny)

Technologie internetowe w programowaniu.

Konspekt pracy inżynierskiej

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Aktualizacja środowiska JAVA a SAS

Technologia Programowania 2016/2017 Wykªad 13 Android. Jakub Lemiesz

Wykład 1: Wprowadzenie do technologii Java

REFERAT PRACY DYPLOMOWEJ

Laboratorium Systemów Mobilnych. Wykład 1

Czym jest technologia Bluetooth?

WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ

Smartfony. Tomasz Zieliński

Wprowadzenie do systemu Android

Programowanie w C. dr inż. Stanisław Wszelak

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Usługi mobilne ipko biznes

Przetwarzanie danych w chmurze

Tematy dyplomów inżynierskich 2009 Katedra Inżynierii Oprogramowania

Systemy operacyjne na platformach mobilnych

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

tel. (+48 81) /22 fax (+48 81) Cel przedmiotu

dziennik Instrukcja obsługi

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

Transkrypt:

Systemy operacyjne dla telefonów komórkowych i urządzeń typu smartphone Architektura, rozwiązania, koncepcje, rozwijanie aplikacji Marcin Erdmann 2 kwietnia 2008

Plan prezentacji 1 Wstęp 2 Definicje 3 Podział 4 Symbian OS 5 Windows Mobile 6 iphone OS 7 Android 8 Prezentacja programów dla Androida

Definicje - Smartphone Smartphone to telefon komórkowy oferujący zaawansowane możliwości nie spotykane w zwykłych telefonach, często posiadajacy funkcjonalność telefonu, organizera i uproszczonych programów znanych z komputerów osobistych. Przyjmuje się, że smartphone posiada kompletny system operacyjny i udostępnia ustandaryzowany interfejs programistyczny umożliwiając tym samym rozwijanie aplikacji.

Definicje - Podział systemów operacyjnych I System operacyjny Umożliwia uruchamianie kodu natywnego dla danego sprzętu Platforma programistyczna Nie umożliwia uruchamiania kodu natywnego dla danego sprzętu a jedynie kod interpretowany

Definicje - Przykłady I Systemy operacyjne Access Linux Platform Openmoko Linux iphone OS Palm OS Symbian OS Qtopia Windows Mobile Platformy programistyczne Android LiMo Platform Blackberry OS

Definicje - Podział systemów operacyjnych II Zamknięty system operacyjny Nie umożliwia uruchamiania własnych aplikacji Otwarty system operacyjny Umożliwia uruchamianie własnych aplikacji

Definicje - Przykłady II Zamknięte systemy operacyjne ISA ( Nokia OS ) Symbian do wersji 5.0 włącznie iphone OS do wersji 1.1.4 włącznie Otwarte systemy operacyjne Pozostałe

Definicje - Podział systemów operacyjnych III Mobilny system operacyjny ogólnego przeznaczenia Może być również uruchamiany na urządzeniach nie posiadających funkcjonalności telefonu komórkowego System operacyjny dla urządzeń smartphone Zaprojektowany specjalnie dla urządzeń posiadających funkcjonalność telefonu komórkowego Inne Systemy dla urządzeń multimedialnych z dodaną funkcjonalnością telefonu komórkowego

Definicje - Przykłady III Mobilne systemy operacyjne ogólnego przeznaczenia Access Linux Platform LiMo Platform Openmoko Linux Palm OS Qtopia Windows Mobile

Definicje - Przykłady III Systemy operacyjne dla urządzeń smartphone Android BlackBerry OS Symbian OS Inne iphone OS

Definicje - Podział systemów operacyjnych IV Proprietary Windows Mobile Palm OS BlackBerry OS iphone OS Symbian OS

Definicje - Podział systemów operacyjnych IV Open source Openmoko Linux Acess Linux Platform LiMo Platform Inne Android Qtopia

Symbian OS - Opis Źródła nie są otwarte W lutym 2007 roku 67% rynku urządzeń smarthpone posiadało system Symbian OS Złożona architektura Nieintuicyjne rozwijanie aplikacji Silnie ukierunkowany na wydajne korzystanie z zasobów

Symbian OS - Historia I Wywodzi się z organizerów Psion z lat 80. i 90. Czerwiec 1998 - Założenie Symbian Ltd. Ericsson Nokia Motorola Psion Listopad 2000 - Pierwszy zamknięty telefon Ericsson R380 trafia na rynek z systemem ER5u Czerwiec 2001 - Pierwszy otwarty telefon Nokia 9210 Communicator z systemem Symbian 6.0 Początek 2003 - Symbian 7.0, dodano EDGE, IPv6, Java ME

Symbian OS - Historia II 2004 - Psion sprzedaje udziały w Symbian Ltd. 2004 - Symbian 8.0, dodano CDMA, 3G, OpenGL ES Początek 2005 - Symbian 9.1, dodano obowiązkowe podpisywanie kod Lipiec 2006 - Symbian 9.3, dodano WiFi, HSDPA Marzec 2007 - Symbian 9.5, dodano telewizję cyfrową, usługi lokalizacji, SQLite

Symbian OS - Architektura Warstwa interfejsu użytkownika Warstwa usług aplikacyjnych Java ME Warstwa systemu operacyjnego Warstwa usług podstawowych Usługi jądra i warstwa interfejsu sprzętowego

Symbian OS - Jądro Szeregowanie zadań Zarządzanie pamięcią Sterowniki Określane mianem mikrojądra

Symbian OS - Warstwa usług podstawowych Najniższa warstwa dostępna z poziomu kodu użytkownika File Server User Library Plug-in Framework Central Repository DBMS Usługi kryptograficzne

Symbian OS - Rozwijanie aplikacji Java ME A to temat na inny wykład, gdyż Java ME nie jest charakterystyczna tylko dla Symbiana... C++ Dobre wsparcie dla IDE(CodeWarrior, Carbide.c++, Carbide.vs, Borland IDE for Symbian OS,...) Długi czas wejścia w technologię Używanie charakterystycznych terminów i technik Descriptors Leaves Cleanup Stack Active Objects C Classes, T Classes, R Classes Programowanie zdarzeniowe

Symbian OS - Moje doświadczenia Pobrałem SDK i Carbide.c++ Uruchomiłem IDE i wygenerowałem domyślny projekt z wzorca Co było dalej?

Windows Mobile - Opis W założeniu ma przypominać Windowsy zarówno z funkcjonalności jak i wyglądu Zawiera mobilne wersje oprogramowania z komputerów osobiostych (WMP, Office,...) Przeznaczony dla palmtopów, smartphonów, odtwarzaczy multimedialnych i komputerów pokładowych w samochodach

Windows Mobile - Historia Kwiecień 2000 - Pokcet PC 2000 oparty na Windows CE 3.0 Październik 2001 - Pocket PC 2002 oparty na Windows CE 3.0 Czerwiec 2003 - Windows Mobile 2003 oparty na Windows CE 4.20 Maj 2005 - Windows Mobile 5.0 oparty na Windows CE 5.0 Luty 2007 - Windows Mobile 6.0 oparty na Windows CE 5.0 Każda kolejna wersja dodawała dużo nowej funkcjonalności i miała przypominać kolejne wersje systemu Windows dla komputerów osobistych (2000, XP, Vista)

Windows Mobile - Rozwijanie aplikacji Wspierane IDE to oczywiście Microsoft Visual Studio Możliwość tworzenia aplikacji kompilowanych do kodu natywnego pisząc w Visual C++ Możliwość tworzenia aplikacji zarządzanych pisząc w językach.net Framework Dostępność SDK wraz z emulatorem Przed Windows Mobile 2003 aplikacje rozwijało się przy użyciu Microsoft embedded Visual Tools

iphone OS - Opis Pierwotnie przeznaczony dla produktu firmy Apple pod nazwą iphone Obecnie jest także używany w ipodach touch Oficjalnie wydany 6 Marca 2008 roku wraz z SDK Wcześniej iphone nie umożliwiał legalnego wgrywania własnego oprogramowania Pierwsze wersje zawierały dużo błedów Kolejne wersje dodawały dużo funkcjonalności, zdawałoby się związanej czysto ze sprzetem, jak np. możliwość ustawienia większej głośności

iphoneos - Rozwijanie aplikacji SDK dostępne od niedawna Dostęp do SDK kosztuje $100 i jest dostępny dla ograniczonej liczby programistów z USA Aplikacje rozwijane w Objective-C Wsparcie jedynie dla Xcode Rozwijanie możliwe jedynie pod Mac OS X W przyszłości możliwość sprzedawania swoich aplikacji przez AppStore - Apple bierze 30%, my 70%

Android - Opis Platforma programowa a nie system operacyjny Oparta o Linuxa 2.6 Bardzo nowa technologia, w fazie intensywnych testów Brak dostępnej na rynku implementacji sprzętowej Kod źródłowy ma zostać w pełni otwarty w 2008r. na licencji Apache v2

Android - Historia Lipiec 2005 - Google kupuje firmę Android Inc. Google rozpoczyna prace nad platformą dla telefonów komórkowych, która ma być w przyszłości open source i jest oparta na Linuxie... Październik 2007 - Google zaprasza m.in. Intela, Motorolę, T-Mobile i NVidię do Open Handset Alliance, która ma się zajmować rozwiajaniem Androida Grudzień 2007 - Pierwsze wydanie Android SDK Luty 2008 - Publiczna prezentacja pierwszych prototypów działających pod Androidem na Mobile World Congress

Android - Odbiór w środowisku Krytyka, za to że Android tak naprawdę nie jest open source Początkowy brak systemu do zgłaszania bugów Niektórzy krytykują brak zgodności Androida z J2ME, ale czy oni rozumieją koncepcję...? A później wszyscy i tak zaczęli kodować...... może chcą wygrać ten milion dolarów w Android Developer Challenge?

Android - Architektura Aplikacje Application Framework Android Runtime Core Library Dalvik Vitual Machine Biblioteki natywne napisane w C i C++ Warstwa abstrakcji od sprzętu - Linux Kernel 2.6

Android - Dlaczego Linux? Sprawdzony model sterowników, wiele dostępnych sterowników Popularność Dostarcza m.in. zarządzanie procesami, zarządzanie pamięcią, model bezpieczeństwa, funkcje sieciowe Koncepcje rozwiązań Linuxa są sprawdzone i wielokrotnie przetestowane Wystarczy zatem dostarczyć urządzenie z działającym na nim Linuxem 2.6 i bedzie można uruchomić na nim Androida.

Android - Biblioteki natywne Rysowanie (Surface Manager, OpenGL ES, SGL) Multimedia SQLite SSL Silnik przeglądarki WWW (WebKit)

Android - Dalvik Virtual Machine Zaprojektowana specjalnie dla urządzeń z ograniczoną pamięcią, mocą obliczniową, baterią Uruchamia specjalny bytecode, powstający z bytecodu Javy przy compilowaniu aplikacji Posiada wysoce zoptymalizowany interpreter bytecodu pod względem wydajności użycia procesora Każdy program uruchamiany jest w osobnej instancji maszyny wirtualnej

Android - architektura aplikacji Activity - jeden ekran interfejsu użytkownika IntentReciever - uruchamia części aplikacji na zdarzenia Service - zadanie działające w tle przez cały czas życia aplikacji ContentProvider - pozwala dzielić dane między procesami i aplikacjami np. baza kontaktów

Android - Ciekawe rozwiązania Android dostarcza wiele rzeczy niejako out of the box, o których wcześniej programiści urządzeń mobilnych newet nie śmiali śnić: Location Manager XMPP Service Dziecinnie proste dzwonienie i wysyłanie wiadomośći SMS z poziomu kodu Notification Manager Views (Gallery, Map, Browser)

Android - Rozwijanie aplikacji Nie ma jeszcze telefonów pod tą platformę na rynku - zostaje zabawa na emulatorach SDK mozna za darmo pobrać ze strony projektu Aplikacje rozwijane w języku Java Wsparcie dla rozwijania aplikacji w Eclipse - Android Development Tools Bardzo krótki czas wejścia w technologię

Android - Przykłady aplikacji No to zobaczmy z czym to sie je...