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

Podobne dokumenty
Android - wprowadzenie. Łukasz Przywarty

Google Android. Opracował Maciej Ciurlik

SOP System Obsługi Parkingów

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

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

edycja 1 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr 14/2012 i 15/2012 i 34/2012

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

Wykład Ćwiczenia Laboratorium Projekt Seminarium

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

Agenda. Wprowadzenie do Androida

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

KARTA KURSU. Projektowanie aplikacji mobilnych

edycja 3 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr 14/2012 i 15/2012 i 34/2012

Programowanie dla Androida. Ubiquitous

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

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania - 1

SYLABUS/KARTA PRZEDMIOTU

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

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

Wbudowane systemy operacyjne

Systemy operacyjne na platformach mobilnych

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017. Forma studiów: Niestacjonarne Kod kierunku: 11.

KARTA PRZEDMIOTU. Cel 1 Zapoznanie studentów z architekturami i platformami mobilnymi

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria systemów mobilnych

Android tworzenie aplikacji mobilnych

Język Java i technologie Web - opis przedmiotu

KARTA PRZEDMIOTU. Aplikacje mobilne i wbudowane, D1.8

Podstawy programowania. Wprowadzenie

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

Kierunek: Informatyka rev rev jrn Niestacjonarny 1 / 5

Kierunek: Informatyka rev rev jrn Stacjonarny 1 / 6

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Czym jest Android Architektura systemu Cechy platformy Android

Programowanie aplikacji mobilnych

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych

Zaawansowane programowanie w języku C++

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

Aplikacje dla urządzń mobilnych Kod przedmiotu

Tworzenie aplikacji na platformie Android

KARTA PRZEDMIOTU. Programowanie wieloplatformowe, D1_1

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

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

KARTA MODUŁU KSZTAŁCENIA

rodzaj zajęć semestr 1 semestr 2 semestr 3 Razem Lp. Nazwa modułu E/Z Razem W I

Programowanie obiektowe 2 - opis przedmiotu

SYLABUS/KARTA PRZEDMIOTU

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

PYTANIA - Programowanie aplikacji dla technologii mobilnych

Kontakt. Krzysztof Bzowski Tel B5 / 605

Wstęp do Informatyki. Klasyfikacja oprogramowania

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Programowanie obiektowe. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia 4. ROK/ SEMESTR STUDIÓW: II/4

5 Moduył do wyboru II *[zobacz opis poniżej] 4 Projektowanie i konfiguracja sieci komputerowych Z

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

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

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

SYLABUS/KARTA PRZEDMIOTU

Technologie i aplikacje mobilne Kod przedmiotu

Projektowanie aplikacji na platformie Android Kod przedmiotu

Piotr Bubacz Cloud Computing

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

Egzamin / zaliczenie na ocenę*

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

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Zespołowy projekt informatyczny. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

Wstęp do Informatyki dla bioinformatyków

Środowiska i platformy programistyczne

Szkolenie Android dla początkujących

WYKAZ PRZEDMIOTÓW I PLAN REALIZACJI

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

Przetwarzanie danych w chmurze

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

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Gry społecznościowe. wykład 0. Joanna Kołodziejczyk. 24 lutego Joanna Kołodziejczyk Gry społecznościowe 24 lutego / 11

Programowanie obiektowe 1 - opis przedmiotu

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

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

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019

Czym jest technologia Bluetooth?

Android, wprowadzenie do SDK

Opis efektów kształcenia dla modułu zajęć

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

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

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

KARTA PRZEDMIOTU. Aplikacje sieciowe w języku Java. D1_5

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

NASZA MISJA. wszystkie nasze dzialania sfokusowane sa na efektywną, partnerską współprace.

Semestr 1 Programowanie Urządzeń Mobilnych. Semestr 2 Programowanie Urządzeń Mobilnych

KARTA MODUŁU KSZTAŁCENIA

Java jako język programowania

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Transkrypt:

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

mgr inż. Anton Smoliński E-mail : anton.smolinski@zut.edu.pl Pokój 102WI2 Konsultacje Tydzień Nieparzysty : Wtorek 10-12 Tydzień Parzysty: Czwartek 12-14 Literatura przedmiotu: http://developer.android.com/ http://stackoverflow.com/ 2

Agenda Struktura przedmiotu Wykłady Laboratorium Projekt Sposób zaliczenia Projekt Laboratorium Wykłady Ocena końcowa 3

Struktura przedmiotu 4

Struktura przedmiotu Wymagania dotyczące przedmiotu: Podstawowa wiedza z inżynierii oprogramowania. Znajomość podstaw programowania obiektowego w języku Java. Znajomość podstawowych zagadnień z zakresu infrastruktury Internetu i usług sieciowych. Wiedza z dziedziny architektury systemów komputerowych. Wiedza w zakresie dziedziny komunikacja człowiek-komputer. Podstawowa wiedza z inżynierii oprogramowania. 5

Struktura przedmiotu Cele przedmiotu: Podstawowa wiedza z inżynierii oprogramowania. Poznanie podstawowych zagadnień związanych z tworzeniem aplikacji działających na urządzeniach mobilnych takich jak smartphony i tablety. Zapoznanie studenta z różnorodnością rozwiązań w dziedzinie technologii mobilnych. Ukształtowanie umiejętności praktycznych w dziedzinie tworzenia aplikacji dla technologii mobilnych: projektowanie, implementacja, testowanie. Wykształcenie umiejętności samodzielnego poszukiwania rozwiązań dla tworzenia interfejsów użytkownika w systemach przenośnych. 6

Struktura przedmiotu Wykład: Podstawowa wiedza z inżynierii oprogramowania. Teoretyczne aspekty programowania na urządzenia mobilne Cykl życia aplikacji i jego elementy Narzekanie na Javę i Androida Kolejne elementy składowe aplikacji mobilnych dla Androida Zasoby UI Dostawcy treści Sensory Bazy danych 7

Struktura przedmiotu Laboratoria: Podstawowa wiedza z inżynierii oprogramowania. Tworzenie prostych programów wykorzystujących omawiane komponenty. Konfiguracja środowiska Cykl życia / Korzystanie z zasobów Tworzenie elementów GUI Dostawcy treści Sensory Bazy danych Komunikacja klient-serwer 8

Struktura przedmiotu Projekt: Podstawowa wiedza z inżynierii oprogramowania. Praca zespołowa Przygotowanie projektu aplikacji razem z prototypem UI/UX Ścisłe określenie odpowiedzialności poszczególnych członków zespołu Stosowanie metodyki SCRUM SCRUM Master, Product Owner, User stories, Sprinty Korzystanie z rozproszonego repozytorium kodu GIT Wytworzenie aplikacji zgodnej z założeniami Dokumentacja 9

Sposób zaliczenia 10

Sposób zaliczenia Projekt: Podstawowa wiedza z inżynierii oprogramowania. Ocena będąca wynikową efektu pracy zespołu. Działająca aplikacja na urządzeniu fizycznym = 5 dla grupy W przypadku gdy projekt nie skończy się powodzeniem oceniane są poszczególne elementy zgodnie z podziałem odpowiedzialności wewnątrz zespołu. Osoby destabilizujące pracę grupy będą mieć ocenę obniżoną 11

Sposób zaliczenia Laboratoria: Podstawowa wiedza z inżynierii oprogramowania. Regularna praca na zajęciach. Ocena będąca znormalizowaną sumą wykonania zadań z laboratoriów: σ n i x i ඍ n 5 ቝ, x 1, Zadanie zrobione i ቊ 0, Brak zadania Zwolnienie z laboratoriów z oceną BDB: Członkowie MAD, Osoby pracujące z technologiami mobilnymi, Uczestnicy Intive (BLStream) Patronage z zespołu Android/iOS, Samsung LABO (aplikacja na android) 12

Sposób zaliczenia Wykład: Podstawowa wiedza z inżynierii oprogramowania. Forma zaliczenia do wyboru: Test jednokrotnego wyboru Teoria Praktyka Pytania otwarte* Zaliczenie ustne** Zwolnienie z egzaminów z oceną BDB pod warunkiem prezentacji praktyczne aspekty tworzenia aplikacji mobilnych : Członkowie MAD, Osoby pracujące z technologiami mobilnymi, Uczestnicy Intive (BLStream) Patronage z zespołu Android/iOS, Samsung LABO (aplikacja android) *Studenci układają listę 30 pytań, z których wykładowca losuje 3-4 na egzaminie. **Na podstawie napisanego kodu 13

Sposób zaliczenia Grywalizacja Podstawowa wiedza z inżynierii oprogramowania. Uczestnictwo na wykładach (obecność x7) Aktywność na wykładach (odpowiadanie na pytania/zadania) 6 wykładów x 3,4 pytania ~ 20 pytań 4 odpowiedzi by otrzymać +1 Bonusy do oceny z zaliczenia 5 z laboratoriów => +1 do oceny testu 5 z projektu => +1 do oceny testu Obecność na wszystkich wykładach => +1 do oceny testu Aktywność na wykładach => +1 do oceny testu 14

Sposób zaliczenia Ocena końcowa: Podstawowa wiedza z inżynierii oprogramowania. Zgodnie z Wagą poszczególnych form dydaktycznych z KRK: 0,25 Laboratoria Ocena końcowa ቐ0,33 Projekt 0,42 Wykład Wyliczana automatycznie w systemie e-dziekanat 15

Technologie mobilne 16

Technologie mobilne Czym są technologie mobilne? Urządzenie mobilne (przenośne) urządzenie elektroniczne pozwalające na przetwarzanie, odbieranie oraz wysyłanie danych bez konieczności utrzymywania przewodowego połączenia z siecią. Urządzenie mobilne może być przenoszone przez użytkownika bez konieczności angażowania dodatkowych środków ~M. Macutkiewicz 17

Technologie mobilne 18

Technologie mobilne Cechy urządzeń mobilnych: Ograniczona żywotność baterii Ograniczona moc obliczeniowa i inne zasoby Ograniczone wymiary [Sensory i czujniki] [Możliwość komunikacji z innymi urządzeniami] 19

Technologie mobilne Telefony Tablety SmartWatch SmartBand SmartTV Wearables 20

Technologie mobilne 2015 Telefony (http://www.idc.com/) Telefony + Tablety (https://www.netmarketshare.com/) 21

Technologie mobilne 2016 Telefony (http://www.idc.com/) Telefony + Tablety (2016-2017) (https://www.netmarketshare.com/) 22

Technologie mobilne Windows (Phone) 10 Microsoft Visual Studio C# XAML (Extensible Application Markup Language) Universal Windows Platform (UWP) Wcześniejsze wersje wymagały SDK https://msdn.microsoft.com/ 23

Technologie mobilne ios Mac computer (OS X 10.10 or later) latest version of Xcode (ios SDK, tools, compilers, and frameworks) Swift (Objective C) https://developer.apple.com/ 24

Technologie mobilne Android IDE + kompilator Java (eclipse, netbeans, AndroidStudio) Android SDK Emulator Java VM Java XML http://developer.android.com/ 25

Technologie mobilne Programowanie wieloplatformowe (crossplatform) Unity Qt Adobe Xamarin Appcelerator ifactr PhoneGap Sencha Corona 26

Technologie mobilne - PYTANIE Jakie cechy musi spełniać urządzenie by było mobilne? Przykłady 27

Android 28

Android Android system operacyjny z jądrem Linux dla urządzeń mobilnych takich jak telefony komórkowe, smartfony, tablety (tablety PC) i netbooki. Wspomniane jądro oraz niektóre inne komponenty, które zaadaptowano do Androida opublikowane są na licencji GNU GPL. Android nie zawiera natomiast kodu pochodzącego z projektu GNU. Cecha ta odróżnia Androida od wielu innych istniejących obecnie dystrybucji Linuksa (określanych zbiorczo mianem GNU/Linux). Początkowo był rozwijany przez firmę Android Inc. (kupioną później przez Google), następnie przeszedł pod skrzydła Open Handset Alliance. 29

Android Linux kernel (jądro systemu Linux) powłoka na której bazuje system, zawierająca niskopoziomowe sterowniki urządzeń dla różnych komponentów sprzętowych urządzenia; Libraries (biblioteki) sekcja zawierająca kod dostarczający główne funkcje systemu Android. Np. wsparcie obsługi bazy danych poprzez dostarczenie biblioteki SQLite; Android runtime sekcja na poziomie tej samej powłoki co biblioteki, dostarczająca programistom możliwości tworzenia aplikacji przy wykorzystaniu języka Java. Sekcja ta zwiera również specjalna wersję maszyny wirtualnej Javy o nazwie Dalvik, która umożliwia każdej aplikacji Androida uruchomienie swojego własnego procesu; Application framework (platforma programistyczna dla aplikacji) umożliwia wykorzystanie możliwości (funkcji) systemu Android w aplikacjach tworzonych przez programistów; Applications (aplikacje) najwyższa powłoka, w której znajdują się dostarczone i wytworzone aplikacje Androida, jak również te pobrane bezpośrednio z aplikacji Google Play (dawniej Android Market). 30

Android 31

Android Wirtualna maszyna Dalvik VM jest specjalne przygotowaną pod urządzenia mobilne wirtualną maszyną Javy, uruchamiającą kod bajtowy aplikacji. Dalvik VM jest zoptymalizowana do jednoczesnego i wydajnego uruchamiania wielu swoich instancji. Plik kodu bajtowego aplikacji jest przetwarzany na plik kodu bajtowego w formacie Dalvik Executable (*.dex). Plik DEX ma mniejszy 5 rozmiar w stosunku do pliku JAR, poprzez optymalizację wykorzystanej pamięci (eliminuje się m.in. informacje powtarzające się w plikach klas). W maszynie Dalvik VM generowanie kodu maszynowego oparte jest na rejestrach, co umożliwiło zredukowanie liczby instrukcji (w maszynie wirtualnej Javy przetwarzanie bazuje na mechanizmie stosu). 32

Android 2015 6.0 Marshmallow : 1,3% 5.1 Lollipop : 17,1% 5.0 Lollipop : 17% 5.x Lollipop : 34,1% 4.4 KitKat : 35,5% 4.3 Jelly Bean : 3,4% 4.2 Jelly Bean : 11,7% 4.1 Jelly Bean : 8,8% 4.x Jelly Bean : 23,9% 4.0 Ice Cream Sandwich : 2,5% 2.3 Gingerbread : 2,7% 33

Android 2016 34

Android PYTANIE Dlaczego Android jest jak cebula (albo ogry, tort piętrowy itp.)? Co go wyróżnia od innych systemów? 35

Koniec! mgr inż. Anton Smoliński 36