Κινητές τεχνολογίες · – Android (Linux-Google-Google...

39
Κινητές τεχνολογίες

Transcript of Κινητές τεχνολογίες · – Android (Linux-Google-Google...

Page 1: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές τεχνολογίες

Page 2: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple
Page 3: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple
Page 4: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές τεχνολογίες;

Ασύρματη δικτύωση Κινητές επικοινωνίες

Τεχνολογίες Πληροφορικής

Page 5: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Σύγχρονες κινητές συσκευές

• Έχουν δυνατότητα πρόσβαση στο Internet• Είναι εφοδιασμένες με Αισθητήρες

– Δέκτης GPS– Ηλεκτρονική πυξίδα– Επιταχυνσιόμετρο

• Διαθέτουν επαρκή υπολογιστική ισχύ γιαεκτέλεση υπολογιστικών εργασιών

Page 6: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Με τι θα ασχοληθούμε;

• Κινητός ιστός (mobile web)• Κινητές εφαρμογές

– στην πλατφόρμα Android– επαυξημένης πραγματικότητας (augmented

reality)

Page 7: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητός ιστός (mobile web)• Πρόσβαση στον Παγκόσμιο Ιστό (WWW – World Wide

Web) – μέσω browser κινητών συσκευών– με χρήση κινητών ή άλλων ασύρματων δικτύων

• ☺– πρόσβαση οπουδήποτε-οποτεδήποτε σε πόρους WWW– παροχή υπηρεσιών με επίγνωση θέσης

• L– οθόνες χαμηλής ανάλυσης– δυσκολία παροχής δεδομένων από χρήστη– χαμηλότερες ταχύτητες και υψηλότερο κόστος μεταφόρτωσης

δεδομένων

Page 8: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές εφαρμογές στηνπλατφόρμα Android

• Android: λειτουργικό σύστημα και πλατφόρμαανάπτυξης εφαρμογών για κινητές συσκευές(smartphones, tablets, …)– Βασίζεται στο Linux– Αναπτύχθηκε αρχικά από την Google και μετά από

την Open Handset Alliance

Page 9: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές εφαρμογές στηνπλατφόρμα Android

• Android: λειτουργικόσύστημα και πλατφόρμαανάπτυξης εφαρμογώνγια κινητές συσκευές(smartphones, tablets, …)– Βασίζεται στο Linux– Αναπτύχθηκε αρχικά από

την Google και μετά απότην Open Handset Alliance

Page 10: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές εφαρμογές στηνπλατφόρμα Android

• Τεχνικές ανάπτυξης προηγμένων εφαρμογών– Εφαρμογές που βασίζονται σε εναλλακτικές επιλογές

• δικτύωσης / επικοινωνίας– SMS– Email– Bluetooth– NFC– WiFi

• ενσωμάτωσης πολυμεσικού περιεχομένου• αποθήκευσης• προσπέλασης βάσεων δεδομένων• αξιοποίησης ενσωματωμένων αισθητήρων

– Google Play: αγορά εφαρμογών Android

Page 11: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές εφαρμογές επαυξημένηςπραγματικότητας

• Επαυξημένη πραγματικότητα (augmented reality)– Ζωντανή – άμεση ή έμμεση – όψη αντικειμένου του

πραγματικού περιβάλλοντος όπου έχουν προστεθείπληροφορίες που παράγονται από υπολογιστικόσύστημα

• Κείμενο• Ήχος• Video• 2D/3D γραφικά• Δεδομένα GPS• …

Page 12: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές εφαρμογές επαυξημένηςπραγματικότητας

• Ευρεία διάδοση• Ευρύ πεδίο αξιοποίησης

– Τουρισμός– Ξενάγηση σε μουσεία– Διαφήμιση– Εμπόριο– Εκπαίδευση– Ιατρική– Διασκέδαση

• Ανοιχτά περιβάλλονταεπαυξημένηςπραγματικότητας

Page 13: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Οικοσύστημα κινητών εφαρμογών

Κατασκευαστέςκινητών συσκευών

Κινητάλειτουργικάσυστήματα

Κινητοίbrowsers

Κινητοίιστότοποι

Υβριδικές και εγγενείςκινητές εφαρμογές

Εργαλεία ανάπτυξηςεφαρμογών, εξομοιωτές,

εργαλεία ελέγχου

Υποδομές: ασύρματα δίκτυα, τηλεπικοινωνιακοί φορείς,

clouds

Πάροχοι τεχνολογίας(διαφημίσεις, πληρωμές, …)

Αγορέςκινητών εφαρμογών

Πάροχοιυπηρεσιών ιστού

Page 14: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές συσκευές

• Φορητές• Προσωπικές• Μας συνοδεύουν σχεδόν πάντα• Εύκολη και γρήγορη χρήση• Διαθέτουν κάποιου είδους δικτυακή σύνδεση και

μπορούν να συνδεθούν στο Internet

Page 15: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές συσκευέςMobile phones: τηλεφωνικές κλήσειςκαι sms

Featured phones: βασικό πρόγραμμα περιήγησης και camera, όχι οθόνη αφής, υποστηρίζουν 2G/3G

Smartphones: multitasking λειτουργικό σύστημα, πλήρες πρόγραμμα περιήγησης, WLAN (WiFi) συνδεσιμότητα εκτός από 2G/3G, λογισμικό music play, GPS, e-compass, camera, video recorder, Bluetooth, οθόνη αφής, επιταχυνσιόμετρο, μαγνητόμετρο

Tablets: οθόνη αφής, συνήθως με κινητό λειτουργικό σύστημα (π.χ., iOS) ή με κατάλληλατροποποιημένο λειτουργικό σύστημα για Η/Υ (π.χ., Windows Phone), WiFi, ίσως 2G/3Gκαι κατά τα λοιπά μοιάζουν με τα Smartphones

Άλλες κινητές συσκευές: ebook readers π.χ., Amazon Kindle με WiFi και 3G και πρόγραμμα περιήγησης στο web

Page 16: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές συσκευές: τεχνικάχαρακτηριστικά (Ι)

• Επεξεργαστής (4πύρηνο 2200 Mhz-Sony Experia Z Ultra)• Μνήμη RAM (2 GB-Sony Experia Z Ultra)• Κάρτα γραφικών• Κάμερες υψηλής ανάλυσης (π.χ. 41 MPixel-Nokia Lumia 1020)• Built-in Sensors

– Magnetometer για επίγνωση προσανατολισμού (orientation): γυρνάμε τη συσκευή γυρνάεικαι η οθόνη

– Proximity sensor για εκτίμηση εγγύτητας: κλειδώνει αυτόματα η οθόνη όταν απαντήσουμε σεκλήση

– Gyroscope για μέτρηση ρυθμού περιστροφής: συνηθισμένο σε παιχνίδια– Light sensor για αντίληψη φωτεινότητας περιβάλλοντος: αυτόματη προσαρμογή

φωτεινότητας οθόνης για εξοικονόμηση μπαταρίας– Αισθητήρες για θερμοκρασία και ατμοσφαιρική πίεση

• GPS, A-GPS, WiFi για στίγμα της θέσης του χρήστη– GPS: Global Positioning System – χρήση 24 δορυφόρων– A-GPS: Assisted GPS – με υποβοήθηση σταθερής υποδομής κινητού δικτύου– WiFI: η θέση του χρήστη εντοπίζεται μέσω πόρων ασύρματων δικτύων π.χ., σημείο

πρόσβασης (access point) – χρήσιμο όταν δε μπορεί να χρησιμοποιηθεί GPS π.χ., εντόςκτιρίων

Page 17: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

• Συνδεσιμότητα– Infrared, bluetooth– WiFi, 3G/4G, WiFi Direct (ad hoc wireless nets)– NFC (Near Field Communication)– RFID (Radio Frequency Identification)– Θύρες HDMI (High-Definition Multimedia Interface)

• Κινητά λειτουργικά συστήματα– Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά)– iOS 8.1 (ειδικά για συσκευές Apple Inc.-App Store)– Windows Phone 8.1 (Metro/Modern-Microsoft)

• Mobile browsers λόγω τεχνικών περιορισμών κινητώνσυσκευών π.χ., μικρό μέγεθος οθόνης, μικρή μνήμη, χαμηλού εύρους ζώνης

Κινητές συσκευές: τεχνικάχαρακτηριστικά (ΙΙ)

Page 18: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές εφαρμογές(mobile apps)

• Εγγενείς εφαρμογές– Προσαρμοσμένες σε συγκεκριμένη πλατφόρμα π.χ., Android, iOS– Χρησιμοποιούν εργαλεία της πλατφόρμας– Υπερτερούν σε εμφάνιση και απόδοση

• HTML5 εφαρμογές– Χρησιμοποιούν HTML5, JavaScript, CSS όπως οι web σελίδες– Cross-platform– Πρόβλημα για ασφαλή αποθήκευση δεδομένων και εκμετάλλευση

λειτουργιών κινητών π.χ., camera, sensors, ημερολόγιο• Υβριδικές εφαρμογές

– HTML5 εφαρμογές προσαρμοσμένες στο λειτουργικό σύστημα τωνσυσκευών

– PhoneGap για ανάπτυξη υβριδικών εφαρμογών

Page 19: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητός ιστός (mobile web)

Page 20: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

The Internet vs. the web

http://skillcrush.com/2012/08/19/the-internet-vs-the-web/

Page 21: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Internet• Παγκόσμιο σύστημα• Διασυνδεδεμένων δικτύων υπολογιστών• Που χρησιμοποιούν την οικογένεια πρωτοκόλλων TCP/IP• Με σκοπό τη διασύνδεση δισεκατομμυρίων συσκευών παγκοσμίως

• «Δίκτυο δικτύων»– Ιδιωτικά, δημόσια, ακαδημαϊκά, επιχειρηματικά, κυβερνητικά δίκτυα

μεταγωγής πακέτου– Συνδεδεμένα μεταξύ τους μέσω ευρέως φάσματος ηλεκτρονικών,

ασύρματων και οπτικών τεχνολογιών δικτύωσης– Διαθέτουν μεγάλο εύρος πληροφοριακών πόρων και συσκευών

• WWW• Email• Ομότιμα (Peer-to-peer) δίκτυα για ανταλλαγή αρχείων• Τηλεφωνία VOIP (Voice over IP)

Page 22: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

WWW – World Wide Web –Παγκόσμιος Ιστός

• Υπηρεσία Internet• Σύστημα διασυνδεδεμένων εγγράφων υπερκειμένου που

μπορούν να προσπελαστούν μέσω του Internet– Έγγραφα υπερκειμένου = ιστοσελίδες (webpages) που

περιέχουν κείμενο, εικόνες, video, άλλα είδη πολυμεσικούπεριεχομένου

– Οι ιστοσελίδες ανοίγονται με ειδικό λογισμικό που ονομάζεταιπεριηγητής ιστού (browser) που επιτρέπει περιήγηση στιςιστοσελίδες μέσω υπερσυνδέσμων (hyperlinks)

• Mozilla Firefox

• MS Internet Explorer

• Google Chrome

Page 23: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

WWW – World Wide Web –Παγκόσμιος Ιστός

• Πρόσβαση σε έγγραφα του web βασίζεται στο μοντέλοclient/server - πελάτη/διακομιστή– Συμφωνούμε ότι: web client = web browser– Γνωστοί web servers: Apache (open source), IIS (MS)

• Η επικοινωνία μεταξύ client και server γίνεται με τοπρωτόκολλο HTTP (HyperText Transfer Protocol)

Page 24: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

http://www.slideshare.net/jgzheng/web-application-landscapehttps://docs.webplatform.org/wiki/tutorials/How_does_the_Internet_workhttps://msdn.microsoft.com/library/bb330932.aspx

Domain Name Server

Uniform Resource Locator

URL

IP

Page 25: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Βασικές τεχνολογίες σχεδίασης καιανάπτυξης στον Παγκόσμιο Ιστό

• HTML: HyperText Markup Language• CSS: Cascading Style Sheets• Javascript (και JQuery)

Page 26: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Βασικές τεχνολογίες σχεδίασης καιανάπτυξης στον Παγκόσμιο Ιστό

• HTML: HyperText Markup Language

• CSS: Cascading Style Sheets• Javascript (και JQuery)

• Για την ανάπτυξη ιστοσελίδων• Τα HTML έγγραφα έχουν

ομοιόμορφη συγκεκριμένηδομή για να αναγνωρίζονταιαπό όλους τους browsers

• Βασίζεται σεhypertext/hyperlinks

• Τρέχουσα έκδοση: HTML5 (10/2014)– Υποστήριξη σύγχρονων

τεχνολογιών πολυμέσων καιπροηγμένων γραφικών

– Αναγνωσιμότητα απόάνθρωπο και ερμηνεία καιαπό υπολογιστές καισυσκευές

– Ανάπτυξη κινητών εφαρμογών

Page 27: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple
Page 28: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Βασικές τεχνολογίες σχεδίασης καιανάπτυξης στον Παγκόσμιο Ιστό

• HTML: HyperText Markup Language

• CSS: Cascading Style Sheets

• Javascript (και JQuery)

• Χρησιμοποιείται για τηνπεριγραφή της εμφάνισηςκαι μορφοποίησηςεγγράφου γραμμένου σεHTML

• Διαχωρίζεται τοπεριεχόμενο από τηνπαρουσίαση

• Πιο πρόσφατη έκδοση: CSS3– Media queries για

προσαρμογή περιεχομένουσε περιορισμούςσυσκευών (π.χ., ανάλυσηοθόνης)

Page 29: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

http://www.w3schools.com/css/

Page 30: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Βασικές τεχνολογίες σχεδίασης καιανάπτυξης στον Παγκόσμιο Ιστό

• HTML: HyperText Markup Language

• CSS: Cascading Style Sheets

• Javascript (και JQuery)

• Javascript– Δυναμική γλώσσα

προγραμματισμού– Ενσωματώνεται στους

browsers ώστε ναεκτελούνται σενάρια στηνπλευρά του client

– Στόχος αλληλεπίδραση μετο χρήστη

• Ανάγνωση/επεξεργασίακειμένου που έχεισυμπληρώσει ο χρήστης

• Έλεγχος browser• Ασύγχρονη επικοινωνία

http://www.w3schools.com/js/

Page 31: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Βασικές τεχνολογίες σχεδίασης καιανάπτυξης στον Παγκόσμιο Ιστό

• HTML: HyperText Markup Language

• CSS: Cascading Style Sheets

• Javascript (και JQuery)

• JQuery– Δημοφιλής βιβλιοθήκη της

Javascript– Ανεξάρτητη πλατφόρμας– Διευκολύνει την ανάπτυξη

σεναρίων από την πλευράτου client και τηνενσωμάτωσή τους σεέγγραφα HTML

– Επιτρέπει τη δημιουργίαplugins

– Open-source (MIT)

http://www.w3schools.com/jquery/

Page 32: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητός Ιστός – Mobile Web• Πρόσβαση στον Παγκόσμιο Ιστό• Με κινητή συσκευή• Μέσω ασύρματης τηλεπικοινωνιακής υποδομής

Page 33: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Τεχνικές και Εργαλεία Ανάπτυξηςγια Mobile Web

• Ολοκληρωμένα περιβάλλοντα ανάπτυξης (IDE –Integrated Development Environments) γιαMobile Web– Adobe Dreamweaver CC– Aptana Studio– Eclipse

• Εξομοιωτές (Emulators)– MobileTest.me: online εξομοίωση κινητής συσκευής

σε browser– Opera Mobile Classic Emulator: online/offline

εξομοίωση κινητής συσκευής σε browser

Page 34: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Διακομιστής Ιστού - Web Server• Όταν δημιουργήσουμε έναν (κινητό ) ιστότοπο

πρέπει να τον «ανεβάσουμε» (upload) σε κάποιοweb server– XAMPP

• Apache – MySQL – PHP - Filezilla FTP Client

• Δυναμικοί ιστότοποι: το περιεχόμενό τους έχειπαραχθεί από κάποιο πρόγραμμα πουεκτελέστηκε στο server και ενσωματώνειπεριεχόμενο αποθηκευμένο σε κάποια βάσηδεδομένων– Joomla, Wordpress

Page 35: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Ασκήσεις

• 1: Εμφάνιση ιστοσελίδας για υπολογιστήσε αντίστοιχη προσαρμοσμένη για κινητό

• 2: Τροποποίηση ιστοσελίδας γιαυπολογιστή σε αντίστοιχη για κινητό

Page 36: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές εφαρμογές στηνπλατφόρμα Android

Page 37: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Κινητές εφαρμογές επαυξημένηςπραγματικότητας

Page 38: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Wikitude

• http://www.wikitude.com/app/– [email protected] - papaioan

Page 39: Κινητές τεχνολογίες · – Android (Linux-Google-Google Play-δημοφιλέστερο στην αγορά) – iOS 8.1 (ειδικά για συσκευές Apple

Άσκηση

• Δημιουργία απλής AR εφαρμογής στοWikitude