Category: Artykuły

grudnia312009

HTC Google Nexus One, telefon z GPS

Telefon komórkowy od Googla? Gphone raz się pojawiał raz znikał w naszych niesieniach. Można powiedzieć, że jest – dzięki współpracy Google i HTC.

W styczniu zostanie wrzucony na rynek Google Nexus One, smartfon działający na systemie Android i zbudowany przez HTC. Jakkolwiek ich telefony mają porażać przede wszystkim funkcjonalnością i możliwościami, ten posiadać ma także niespotykanie przyjemny dla oka wygląd. Wyposażony będzie w procesor Snapdragon, jego parametry techniczne to: 512MB RAM, 512MB ROM oraz wbudowana karta microSD 4GB z możliwością poszerzenia do 32GB. Będzie posiadał także 5-megapixelowy aparat z lampą błyskową LED oraz ekran 3.7 cali WVGA AMOLED. Na wyposażeniu smartfona znajdzie się również Worldwide GSM/EDGE, Wi-Fi A/B//G/N, Bluetooth 2.1, GPS oraz Accelerometer.

Ciekawym faktem jest to, że telefon ma być dostępny w sprzedaży bezpośrednio u Google – brak więc będzie pośredniczących sieci komórkowych, a zatem i blokad simlock. Jest on pozbawiony klawiatury oraz cieńszy niż iPhone. Na początku docelowym rynkiem sprzedaży będą Stany Zjednoczone. Będzie to pierwszy rzeczywisty produkt sprzedawany przez firmę, która do tej pory świadczyła usługi wyłącznie wirtualne. Panuje przekonanie, że Google to solidna firma i należy się po niej spodziewać raczej wysokiej jakości. Jak będzie, przekonamy się w styczniu – 5.01.2010 konferencja prasowa Googla.

Nastąpił wyciek dokumentów: http://gizmodo.com/5436673/leaked-nexus-one-documents-530-unlocked-180-with-t+mobile z których wynika że gphone bez blokady operatora (bez umowy) ma kosztować 530 dolarów. Czyli dużo, w USA z T-mobile (umowa 2 lata) – $180

Nexus One Google Phone HTC Android 2.1 Preview FR:

listopada282009

Google Chrome OS download from Android?

No i będzie – nie Google Linux, nie Goobuntu, ale Chrome Operating System!

Chrome OS mimo, że w fazie ciągłych szlifów, to Sergey Brin zapowiedział, że w przyszłości możliwa będzie integracja systemu z Androidem. no bo czy oba produkty nie są podobne? Oto demówka:

Według jednego z założycieli Googla połączenie ma sens, gdyż obie platformy są oparte o Linuxa oraz silnik Webkit. Zanim jednak ta informacja zostanie oficjalnie potwierdzona, Google musi sprawdzić, czy ich nowe rewolucyjne rozwiązania Chrome OS przyjmą się na rynku.

System ten będzie współpracował jedynie z netbookami, w których znajdować się będą dyski typu SSD (demony szybkości, obecnie dla blogaczy). Dzięki temu czas załadowania będzie mógł nieporównywalnie krótszy od konkurencyjnych – ma on trwać zaledwie kilka sekund. Jak włączenie Nokii? Inną cechą tej platformy jest technologia cloud computing (osobiście dodam, budząca wiele kontrowersji wydajnościowych i bezpieczeństwa) – pliki przechowywane w „chmurze online”.

Dzięki temu utrata komputera nie będzie jednoznaczna z utratą danych (a utrata przez awarię serwera skoro Google hostuje na tysiącach komputerów domowej roboty? pady Gmaila?). Ok, za dużo pytań. Warto obserwować model biznesowy i strategię Googla, gdyż jest ona wieloletnia. Mogli spokojnie stworzyć system operacyjny 3-4 lata temu. Jednak teraz nowoczesne telefony i netbooki to produkty-nisza której nie zdążyło zagospodarować Apple ani korporacje Ballmera a Ubuntu to jednak kobyła nie dla Kowalskiego. Obawiałem się o przyszłość Androida, ale z taką taktyką, za 5 lat Google Chrome OS odpali nam lodówkę a Microsoft będzie wpadał w tarapaty finansowe.

Ktoś szukał Chrome OS download? Czyli trafił na stronkę przez Googla – witamy w Matrixie : )

sierpnia112009

Google dla firm, usługi biznesowe dzięki Android

Android nie tylko dla home userów, czyli Google w średniej i małej firmie.

Co to jest Android?
Mówiąc o Androidzie, jako młodym systemie z perspektywami, nie można nie wspomnieć o Google, który jest jego oficjalnym właścicielem od 2005r. W praktyce oznacza to, że wszystkie dobre skojarzenia, jakie mamy z tą instytucją powinny przełożyć się na Androida. Gmail, Kallendar, Contacs, Maps, Google Talk – każda z tych usług może być dostępna z pozycji twojego telefonu – co więcej – w pełni funkcjonalna i kompatybilna z ogółem aplikacji.
Google Apps, czyli funkcja o której nie można nie wspomnieć, umożliwia nam mobilną pracę pod własną domeną, z użyciem pojemności skrzynki pocztowej Gmail jako serwera. Rozwiązanie jak najbardziej sensowne, dające nowe możliwości nie tylko młodzieży, ale również pracownikom średnich i małych firm.

Wady i zalety
Poleganie na usługach, aplikacjach i funkcjach jednej tylko marki (nawet jeśli jest nią stabilny i wiarygodny Google) może nieść ze sobą zarówno zalety jak i wady. Największa z nich jest chyba fakt, że w przypadku odgórnej awarii usług Google możemy zupełnie stracić kontrolę nad tym, to dzieje się z danymi w naszym telefonie. Z drugiej jednak strony, wspólne działanie aplikacji dopracowane jest do najdrobniejszego szczegółu. Wszystkie działają bez zarzutu, a co ważne – robią to za darmo.
7GB przestrzeni dla każdego konta, dostęp do poczty, kalendarza internetowego, zarządzanie kontaktami oraz korzystanie z komunikatora, a to wszystko chronione filtrem antyspamowym. Może warto zainwestować w smartfona oferowanego przez jednego z polskich operatorów i na zawsze zapomnieć o taszczeniu ze sobą służbowego notebooka?

Jak to działa?
Obsługa telefonów z Androidem jest dziecinnie prosta. Po pierwszym włączeniu ukaże nam się plansza, na której uzupełnimy podstawowe dane – adres i hasło Gmail. Od tego momentu będziemy mogli korzystać z wszystkich dobrodziejstw jakie daje nam Google: wysyłać i odbierać maile, porozumiewać się za pomocą komunikatora, czy zarządzać kontaktami, które posiadaliśmy w naszej skrzynce pocztowej, a w jednej sekundzie, mamy je również w telefonie.

Aplikacje dla biznesu – Glympse
Glympse jest jedną z ciekawszych aplikacji na Androida, która może nam ułatwić komunikację. Pozwala ona bowiem, za pomocą odbiornika GPS udostępniać swoją dokładną lokalizację. Jeśli jesteś umówiony na ważne spotkanie, jednak z jakiegoś powodu możesz się spóźnisz , zamiast dzwonić i tłumaczyć co się stało i gdzie jesteś, wystarczy, że wyślesz Glympse SMSem lub na maila. Osoba, która go otrzyma, pozna twoją lokalizację. Funkcja ta pozwala na lepszą synchronizację pracy – zamiast czekać bezczynnie, osoba, która czeka będzie mogła zająć się czymś pożytecznym, a kiedy zobaczy na ekranie, że się zbliżasz, powróci w umówione miejsce.

Podsumowując, zaopatrzony w odpowiednie aplikacje oraz umowę z operatorem dostarczającym mobilny Internet, smartfon z Androidem jest narzędziem, które świetnie sprawdza się w biznesie. Jedno konto, jedno hasło i setki możliwości, a wszystko to w zasięgu dłoni…

maja202008

Google Android Challenge – podsumowanie

Znane są już wyniki Google Android Challenge – postanowiliśmy przybliżyć 3 najciekawsze aplikacje na Androida. Każdy na pewno ma swoje typy, wiele pomysłów jest do siebie zbliżonych. Wygrały proste, społecznościowe inicjatywy – niemal brak aplikacji nastawionych z góry na łatwy zarobek albo innych kombajnów ecommerce. Google ponownie chce najpierw zdobyć rynek a potem go opanuje. Kolejność przypadkowa, trudno wyłonić zwycięzcę, gdyż rewelacji nie było.

android-scan

1. AndroidScan

Developer: Jeffrey Sharkey

Znajduje ceny i opinie produktów, książek, muzyki itp. na podstawie kodu kreskowego. Rozpoznaje kody i szuka w dziesiątkach sklepów, bibliotek itp.

Pokazane są obrazki, okładki oraz możliwość odtworzenia próbki dźwiękowej utworu, być może także trailera filmu, gry itp. Opcja zakupu online jest pewnie na razie przemilczana.

Dlaczego?

Jedna z niewielu aplikacji ecommerce, widać potencjał połączenia połączenie Opineo/Ceneo wokół jednorodnego klucza, jakim jest kod kreskowy.


e-ventr

2. E-ventr

Developer: Michael Zitzelsberger

Manadżer wydarzeń zawsze pod ręką. Znajdowanie koncertów, imprez, powiadamianie znajomych, szukanie kontaktów. Wysyłanie i akceptowanie zaproszeń. Sport, rozrywka, imprezy bardziej oficjalne.

Przyjazny i łatwy interfejs, konkretny cel, być może pokazanie popularnych imprez w rejonie lub na mapie, w połączeniu z innymi aplikacjami (np. szukanie dojazdu MPK) bardzo użyteczna aplikacja, młodzieżowa.

Dlaczego?

Popularność last.fm – modułu wydarzeń, zapraszania innych i wyszukiwania oraz praktyczność programu.


teradesk

3. Teradesk

Developer: José Augusto Athayde Ferrarini

Software-as-a-service, także na komórkach. Komórka jako drugi komputer – trzeba zarządzać takżę własnymi danymi. Bezpieczne środowisko do przesyłania i przechowywania plików. Wsparcie dla wersjonowania, wznawiania transferów.

Pobieranie i wgrywanie z innego telefonu lub komputera w biurze/domu – synchronizacja danych, być może wymiana ze znajomymi plikami. Prawie p2p ale z dużą dawką bezpieczeństwa.

Dlaczego?

Niemal jedyna praktyczna, konwencjonalna aplikacja, która nie oscyluje wokół gotowania, podróży, map i innych społecznościowych ciekawostek, ale naprawdę może się przydać. Na pewno komórki przyszłości będą musiały współpracować

Jeśli się z nami nie zgadzacie albo macie swoje typy to piszcie. Na przykład – czy Enkin zasługiwał, aby znaleźć się wśród zwycięzców?

Wśród developerów nie ma Polskich nazwisk, sporą część projektów realizowanych jest przez firmy. Na przykład (co pozostawiamy bez komentarza) – aplikacja The Weather Channel for Android, developer: The Weather Channel Interactive Inc.

maja82008

Sun i Apple: bitwa o Javę na wyspie iPhone

W ciągu 24h od release’u iPhone SDK inżynierzy Sun’a zbadali platformę Apple aby stwierdzić, czy da się na niej zaimplementować Javę. Po burzliwej, całonocnej analizie stwierdzili, że jest to możliwe i postanowiono zaimplementować na iPhone technologię J2ME. O ile można się było spodziewać takiego obrotu spraw ze strony Sun’a, nie bardzo wiadomo jakie będzie stanowisko samego Apple.

Nie wiadomo dlaczego wybór Sun’a padł właśnie na Java ME. Powszechnie uważa się, że jest ona dość ograniczona i nie daje możliwości korzystania z nawet ułamka najciekawszej funkcjonalności oferowanej przez iPhone’y. Sun będzie musiał wprowadzić kilka dodatkowych API, aby developerzy mogli rozwinąć skrzydła, a aplikacje Javy na iPhone nie pozostawały w tyle za innymi technologiami. Dziwne jednak, że nie zdecydowali się wspierać od początku swojego Java FX Mobile, które ma szansę w przyszłości zastąpić J2ME. Ponadto, J2ME często krytykowana i ma kiepską opinię.

Apple w tej chwili w pełni kontroluje swoją platformę i całe środowisko skupione wokół iPhone’a. SDK jest dostępne w tej chwili tylko na Mac OS X, więc aby tworzyć aplikacje na ten telefon, trzeba mieć Mac’a. Ruch ten spowodowany jest chęcią jego popularyzacji. Ponadto, użytkownicy w tej chwili mogą pobierać i instalować aplikacje jedynie ze specjalnego sklepu. Pozwala to Apple’owi kontrolować jakie aplikacje są dostępne użytkownikom. Podnosi to poziom bezpieczeństwa tej technologii, ale jednocześnie znacznie ogranicza użytkowników i developerów.

Gdyby na iPhone udało się pisać, instalować i uruchamiać aplikacje napisane w Javie, Apple straciłby tą kontrolę. Programy można byłoby pisać używając konkurencyjnych wobec Apple rozwiązań, a także nie można byłoby kontrolować co instalują użytkownicy. Jeśli Apple pozwoli Sun’owi zaimplementować J2ME na iPhone, Apple może stracić. Warto zwrócić uwagę na fakt, że Apple’owi nie zależy na otwartości swojego rozwiązania.

W licencji iPhone SDK można przeczytać, iż zabronione jest tworzenie aplikacji korzystających z interpretowanych runtime’ów. Oznacza to, że programiści nie mogą portować technologii takich jak Python, Ruby czy .NET na iPhone’y. Klauzula ta nie znalazła się w licencji przypadkowo. Polityka Apple może nie być więc przychylna Sun’owi.

kwietnia282008

Jeśli nie Java, to co? Czyli inne języki programowania na platofrmę Android

Poprzednio opisaliśmy, co tak naprawdę zamiast Javy siedzi wewnątrz Androida. Zważywszy na to, że sercem systemu jest Linux, nasuwa się pytanie, czy można tworzyć na niego aplikacje w językach innych niż Java? Ponadto, wokół samej Javy wyrosło sporo pomyślnych projektów integrujących ją z innymi językami programowania. Ponieważ urządzenia mobilne posiadają mało pamięci i nisko taktowane procesory, całkiem naturalne wydaje się poszukiwać rozwiązań opartych na C++ i C. Czy Android jako otwarta platforma umożliwia to wszystko?

C i C++

Podstawowym narzędziem programistycznym w każdym Linuxie (Unixie) jest oczywiście C. To właśnie w tym języku napisano nie tylko jądro systemu i sterowniki (moduły) ale także znaczną większość aplikacji, począwszy od powłoki i usług sieciowych, aż po środowiska graficzne (np. GNOME) i aplikacje użytkowe. Oprócz C ważną rolę w ekosystemie Linux’owym odgrywa także C++ (szczególnie w KDE).

Ponieważ Android jest w głębi duszy kolejnym Linux’em, wszystko powinno być możliwe :) . Aaron P. D’Souza podał przykład jak skompilować i uruchomić w emulatorze niewielki konsolowy program napisany w C++. Potrzebny jest jedynie specjalny pakiet GNU/ARM Linux (download). Podobne rozwiązanie opisuje Benno.

Niestety, tak napisane programy nie integrują się w ogóle z całą funkcjonalnością platformy. Nie mogą wyświetlać grafiki, ani tym bardziej wysyłać SMSów, odtwarzać muzyki czy przede wszystkim komunikować się z pozostałymi aplikacjami napisanymi w Javie. Można jednak zrobić w drugą stronę: typowa aplikacja Javowa może wywoływać kod napisany w C/C++ poprzez interfejs JNI. Davanum Srinivas opisuje cały proces krok po kroku. Dzięki temu, jeśli jakiś fragment aplikacji (np. obliczenia matematyczne, kompresja audio/video) zajmują zbyt wiele czasu, można pokusić się o zaimplementowanie go w C i wywoływać z poziomu Javy.

Jednak mariaż C z Androidem budzi kontrowersje. Na grupach dyskusyjnych rozstrząsa się sens i przydatność takich pomysłów. Przede wszystkim, o ile program napisany w C łatwo przygotować tak, aby działał w emulatorze, w rzeczywistości, aby z aplikacji można było korzystać na każdym telefonie, należałoby skompilować taki program na każde urządzenie osobno. Tak jest w przypadku systemu Symbian OS. Ponadto, Google specjalnie skoncentrował się na Javie po to, aby uniknąć problemów z kompatybilnością aplikacji i wyeliminować potrzebę tworzenia różnych wersji tej samej aplikacji na różne modele urządzeń.

Hatem Ben Yacoub z Open Handset Magazine poddał w wątpliwość takie próby.

Python, Jython

Niektórze narządzia wchodzące w skład SDK takie jak np activityCreator.py napisane są w Python’ie. Wiadomo też, że Python, obok Javy i JavaScript’u, jest jednym z ulubionych języków inżynierów Google. Czy można więc pisać aplikacje na Androida w Pythonie?

Pierwsze próby skompilowania Pythona na gphone’a podjął Marcelo Barros de Almeida, lecz nie udało mu się jak dotąd uruchomić interpretera ani interaktywnego shella. Ponadto aplikacje uruchamiane w środowisku Pythona, zamiast w JVM musiałyby się komunikować z platformą poprzez specjalne binding’i pomiędzy Pythonem a Javą, a właściwie Dalvik’iem.

Lepszym rozwiązaniem będzie tutaj użycie Jython’a - implementacji Pythona na JVM. Programy napisane w Jythonie mogą używać zarówno standardowych bibliotek Python’owskich, jak i tych dostepnych w Javie i nie potrzebują do tego żadnych bind’ingów. Kod napisany w pythonie jest tłumaczony do bytecode’u Javy. Ponadto Jython może pracować w trybie interpretera kodu źródłowego. Próbę uruchomienia Jythona na Androidzie podjął hdante, lecz także napotkał problem. Nic dziwnego, wcześniej opisywaliśmy już różnicę pomiędzy JVM a wirtualną maszyną Dalvik’a. W SDK w tej chwili brakuje pełnej implementacji Java Reflection API, a fundamenty języków dynamicznych takich jak Python opierają się o mechanizm reflection.

Podobne próby i rozważania na ten temat podjęto tutaj i tuaj.

Ruby i JRuby

Z tego samego powodu nie udaje się też użyć Ruby‘ego ani JRuby‘ego. Brak pełnej implementacji Javy w SDK powoduje java.beans.IntrospectionException i uniemożliwia uruchomienie programów napisanych w JRuby.

Groovy

Popularność Jythona i JRuby zainspirowała powstanie języka Groovy. Mówi się o nim, że tak wygladałaby Java, gdyby zaprojektowano ją dzisiaj. Groovy jest dynamicznym językiem przeznaczonym do pracy w JVM. Stanowi on doskonałe rozszerzenie Javy i świetnie sprawdza się w zastosowaniach webowych.

Niestety, podobnie jak poprzednie technologie, Groovy w dużej mierze opiera się o Reflecion. Ponadto operuje bezpośrednio na bytecodzie Javy, a nie na Dalvik’u. Z tego powodu tylko częściowo udało się dotychczas skompilowac okrojoną jego wersję. Skrypty jednak nie dają się uruchomić. Tutaj także brak java.beans.Inspector uniemożliwia integrację Groovy’ego z Androidem. Dyskusja tutaj.

Scala

Scala jest eksperymentalnym językiem programowania, który ostatnio zdobywa wielu zwolenników. Do niedawna można było pisać w niej programy na platformę .NET i J2SE oraz J2ME. W najnowszej wersji pojawił się target prosto na Androida!

Tutaj można znaleźć krótki opis jak napisać w Scali program i zainstalować go w emulatorze.

Tym samym Scala jest w tej chwili jedynym językiem dynamicznym z samej czołówki w pełni zaimplementowanym na Androidzie.

Inni gracze na boisku

Jest jeszcze wiele innych technologii, które programiści chętnie widzieliby dostępne na gphone’ach. Sun tworzy właśnie JavaFX Mobile (SavaJX), która ma szansę zastąpić J2ME. Adobe zapewne chciałby popularyzować swojego Flash’a i bazującego na nim AIR (więcej tutaj). Fani .NET i Mono szukają sposobu, aby także dołączyć do społeczności Androida, proponując różne pomysły na integrację. Biorąc jednak pod uwagę problemy z C i niekompatybilność Dalvika z JVM, integracja tych technologii na Androidzie może się okazać w najbliższym czasie niemożliwa.

A może JavaScript?

Tymczasem szybko rozwijający się projekt Google Gears, rozszerzający funkcjonalność aplikacji webowych uruchamianych po stronie klienta (tj. w przeglądarce) w połączeniu z GWT może przerodzić się w nową platformę zarówno dla aplikacji webowych, jak i mobilnych. Są już pierwsze porty GWT na Androida. Gears jest dostępne już w wersji dla Windows Mobile i zapewne już niedługo Google przeniesie je na swój system. Pozwoli to na budowanie aplikacji mobilnych przy użyciu techonologii AJAX, frameworków takich jak Dojo, JQuery, YUI i GWT. Jedna aplikacja będzie mogła działać zarówno na Windows Mobile, jak i Androidzie a nawet iPhone. Safari 3 jeszcze nie wspiera Gears, ale prace nad tym zostały już podjęte.

Google Gadgets są jednym z najważniejszych projektów Googla. Powszechne użycie Gears’ów pozwoliłoby na rozszerzenie ich funkcjonalności i przeminę w mikro-aplikacje o desktopowych możliwościach. Mogło by to poważnie zagrozić istnieniu MS Silverlight’a i Adobe Flex, a z pewnością Sun JavaFX, zarówno w świecie desktopów, jak i urządzeń mobilnych. Dlatego można się spodziewać dużego wkładu w Gears i Androida ze strony Google.

A co z J2ME?

Pozostaje jeszcze na koniec pytanie, co z instniejącymi aplikacjami napisanymi w technologii J2ME. Takiej aplikacji nie można od razu uruchomić na Androidzie. Są jednak projekty takie jak ME4SE, które uzupełniają J2SE o funkcjonalność ME. Stworzona przez Poliplus specjalna jego wersja ME4android pozwala przenieść aplikację J2ME tak, aby działała na Androidzie i Dalvik’u.

Wnioski

Wygląda na to, że jeszcze przez jakiś czas jedynym językiem programowania na Androida pozostanie Java. Google musi jeszcze zaimplementować kilka ważnych mechanizmów, których brak uniemożliwia użycie innych technologii. Ciekawe jednak, że ekipie zajmującej się językiem Scala udało się zrobić to, czego nie dokonali inni. Najbardziej obiecująca jest jednak perspektywa użycia Google Gears.

kwietnia232008

Android: czy to Java, czy nie Java?

Dalvik – miasto na północnym wybrzeżu Islandii w którym żyje ok. 1500 osób. Jest typowym miastem portowym, dobrze rozwinięte jest tu rybołówstwo oraz przeróbka ryb, a także znajduje się niewielki przemysł. Zaopatrywany jest w ciepłą wodę z gorących źródeł. Mieści się tu urząd gminy oraz muzeum. W 1943 roku trzęsienie ziemi zniszczyło większość domostw w Dalvik.

- Wikipedia

Z wierzchu Java, pod maską Dalvik

Docelowym językiem programowania na Androida jest Java. Zwykle pliki z kodem źródłowym napisanym w Javie kompilowane są do plików .class, zawierających instrukcje dla wirtualnej maszyny. Instrukcje te nazywa się bytecode ‘em Javy (Java Bytecode). Kiedy uruchamiamy skompilowany program napisany w Javie, wirtualna maszyna (JVM) ładuje owe pliki do pamięci i uruchamia zawarty w nich kod. Jednak Android nie posiada JVM! Zamiast JVM, Google zdecydował się wyposażyć Androida w technologię Dalvik.

Java Reloaded

Dalvik to coś w rodzaju ulepszonej wirtualnej maszyny Javy. Java ma już swoje lata, ale od tego czasu fundamenty tej technologii nie zmieniły się. Kilkanaście lat doświadczeń z Javą i urządzeniami mobilnymi wykazały nieliczne, lecz bardzo ważne słabe punkty JVM. Sun nadal nie zdecydował się na podjęcie drastycznych kroków, aby te problemy rozwiązać. Skoro Sun nie skłania się do ulepszenia Javy jako platformy w najbliższym czasie, inżynierzy Google’a zdecydowali wziąć sprawy w swoje ręce i stworzyli własne rozwiązanie. Tak właśnie powstał Dalvik – nowoczesna wirtualna maszyna, przystosowana specjalnie do urządzeń mobilnych, gdzie szczególną uwagę należy zwrócić na małe zasoby pamięci, energii i niewielką prędkość procesorów.

Wśród narzędzi zawartych w SDK znajduje się kompilator. Kompilator ów nie tworzy jednak plików .class z bytecode’m Javy, lecz pliki .dex z bytecode’m Dalvik’a. Następnie skompilowane pliki, wraz ze strukturą katalogów i znajdującymi się w nich multimediami, zostają spakowane – zamiast do pliku .jar - do pliku .apk (Android Package). Tak przygotowana aplikacja uruchamiana jest przez wirtualną maszynę Dalvik’a.

Ma to swoje implikacje – zarówno plusy, jak i minusy. Do plusów należy zaliczyć z pewnością lepszą obsługę pamięci, lepszy Garbage Collector, większą wydajność. Z drugiej strony bytecode Dalvik’a nie jest w 100% kompatybilny z bytecode’m Javy. Nie zadziałają więc na Adnroidzie bardziej wyrafinowane sztuczki programistyczne, korzystające z Class Loader’ów czy Java Reflection API.

Prawie jak Java

Bezpośrednio przekłada się to na problemy z uruchomieniem na Androidzie projektów korzystających np. z języków takich jak Groovy, JRuby czy Jython. Ponadto pojawiają się problemy, jeśli chcemy użyć framework’ów IoC takich jak Spring, OSGi czy chociażby PicoContainer. Także iJetty - wersja popularnego, minimalistycznego serwera webowego Jetty, przygotowana specjalnie dla Androida – nie może w tej chwili samodzielnie instalować aplikacji webowych dostarczanych w plikach .war.

A więc Dalvik jest prawie jak Java. Jak wiadomo, prawie robi wielką różnicę i jeśli Google pragnie sukcesu Androida, będzie musiał podjąć pewne kroki. Na razie pojawiają się plotki o obietnicach, że w SDK pojawią się w ClassLoader’y takie jak w Javie, a także z czasem dostępne będzie też pełne wsparcie dla Reflection API.

kwietnia92008

Google Android, Samsung i nowe SDK

Ostatnio coraz więcej pojawia się w sieci informacji o komórkach Google’a i Open Handset Alliance. Google wypuścił nowe SDK (m5-rc15), wolne od błędów z obsługą plików *.bmp i z uaktualnioną dokumentacją. Ogłoszono także otwarcie projektu Apps for Android, o czym pewnie większość już wie. Ma on za zadanie zaprezentować bardziej rozbudowane programy, napisane zgodnie z zaleceniami i filozofią platformy, wykorzystując jak najlepiej jej architekturę i dostępne API.

Warto sięgnąć po najnowszy numer Software Developer`s Journal. W cyklu “Programowanie platform mobilnych” pojawił się artykuł Google Android. Można się zapoznać z celami i założeniami systemu, jak również uzyskać pomoc w tworzeniu pierwszych aplikacji.

google androidJeśli chodzi o urządzenia – pogłoski na temat przyszłych produktów zdementował Dell, ale Samsung nie ukrywa planów rozpoczęcia produkcji aż dwóch modeli z logo Google na obudowie, o czym pisaliśmy w poprzedniej notce – czyżby Gphone?. Pierwszy, lepiej wyposażony, miałby pojawić się we wrześniu, drugi, uboższy, w połowie grudnia.
Te urządzenia, w stosunku do produktu Alienware, z pewnością będą bardziej atrakcyjne, znając możliwości stylistów Samsunga. Na blogu technologicznym BBC przedstawiono telefon 3G z ekranem dotykowym oraz procesorem 300MHz, który posiadał oraz Androida na pokładzie. Można było na nim podziwiać usługę Google StreetView oraz wspomaganą biblioteką OpenGL ES grę Quake.

Źródło: http://www.pdaclub.pl/view.php?news_id=13763.