1) Android
Open Handset Alliance (48 firm - Google, HTC, Intel, Motorola, T-Mobile, Nvidia...) Jądro monolityczne (Linux) Licencja Apache 2.0 i GPLv2
Android dostarczany jest z pakietem podstawowych aplikacji (przeglądarka, klient e-mail, odtwarzacz muzyki, itd..) Wszystkie aplikacje są równe - każdą aplikację wbudowaną można rozszerzyć lub zastąpić Android Market (beta) - na razie można publikować tylko darmowe aplikacje
Oficjalnie programy można pisać tylko w Javie Android SDK - zawiera emulator, kompilator debugger, diagnostykę użycia pamięci i wtyczkę do Eclipse (jedyne wspierane IDE) Można używać także narzędzi konsolowych Dokumentacja i tutoriale na www.code.google.com/android
Konkurs na najbardziej innowacyjne aplikacje na Androida Suma nagród - 10 milionów dolarów 50 projektów przeszło do drugiej fazy (25 000 dolarów na dalsze prace) 10 najlepszych zespołów dostało po 250 tysięcy dolarów Promowano głównie aplikacje lokalizacyjne i społecznościowe
Brak bezpośredniego dostępu do niższych warstw API Android używa składni Javy, ale nie spełnia w pełni jej standardów Wybór Javy ogranicza wielu twórców oprogramowania, ale zapewnia większą przenośność programów Kod w C/C++ i innych językach może być skompilowany do kodu maszynowego (niewspierane przez Google)
JVM posiada kilka słabych punktów, których Sun na razie nie rozwiązał Dalvik - maszyna wirtualna zoptymalizowana dla urządzeń mobilnych (lepszy Garbage Collector, lepsza obsługa pamięci, większa wydajność) Architektura oparta na rejestrach (większość maszyn wirtualnych to maszyny stosowe)
Nieskompresowane pliki wykonywalne .dex są zazwyczaj kilka procent mniejsze niż skompresowane pliki .jar Pliki .dex mogą zostać dodatkowo zoptymalizowane po instalacji na urządzeniach mobilnych Bytecode Dalvik'a nie jest kompatybilny z bytecode'm Javy Problemy z uruchomieniem projektów korzystających np. z JRuby czy Jython
Każda aplikacja uruchamia własny proces z własną instancją maszyny wirtualnej Dalvik Czas życia procesu nie jest kontrolowany bezpośrednio przez aplikację Zależy natomiast od ilości dostępnej pamięci i wiedzy systemu na temat istotności poszczególnych częsci aplikacji dla użytkownika
Zapewniane przez jądro Linuxa (np. identyfikatory użytkownika i grup) Żadna aplikacja nie posiada domyślnie praw do wykonywania operacji mogących mieć negatywny wpływ na system (np. pisania do plików innych aplikacji) Aplikacja może zarządać przyznania praw do wykonywania takich operacji i sama może takie operacje implementować
Każda aplikacja (pliki .apk) musi posiadać certyfikat identyfikujący jej twórcę (używane do zapewnienia współpracy pomiędzy aplikacjami, determinuje kto może mieć dostęp do określonych pozwoleń ) Przy instalacji każdemu pakietowi przydziela sie stały unikalny identyfikator (przypisuje się go później np. do plików stworzonych przez aplikację).
Część telefonół T-Mobile G1 z Androidem posiada dość poważną lukę w bezpieczeństwie Każdy tekst wpisany do dowolnego programu pierwszoplanowego, był wysyłany do konsoli A następnie wykonywany jako polecenie (z prawami root'a)
Analitycy wróżą Androidowi kilka procent udziałów w rynku Google stara się przekonać do siebie operatorów komórkowych i producentów telefonów (mniejszą wagę przykłada do reklamy platformy) 25 % zysków od sprzedawanych aplikacji w Android Market trafi do operatorów Udział w zyskach z reklam wyświetlanych w wynikach wyszukiwania Google na telefonach komórkowych
14) Bibliografia
http://code.google.com/android http://gphone.pl/ http://www.talkandroid.com http://www.androidal.pl/ http://openhandsetmagazine.com/2007/11/running-c-native-applications-on-android-the-final-point/ http://en.wikipedia.org/wiki/Google_Android http://blog.wired.com/gadgets/2008/11/google-fixes-an.html