Programowanie aplikacji Android – aspekty, na które kładziemy nacisk
Tworzenie oprogramowania przeznaczonego urządzeniom mobilnym wiąże się w obecnych czasach z całą masą rozmaitych czynników, do których należy przywiązywać uwagę. Tylko odpowiednio skrupulatne i rzetelne podejście pozwoli deweloperowi na efektywne i wieńczące pełnym sukcesem programowanie aplikacji na Androida. W IT-Solve w pełni zdajemy sobie sprawę z takiego stanu rzeczy, dlatego programując aplikacje na Androida, realizujemy precyzyjnie opracowany wcześniej schemat obejmujący przede wszystkim opisane poniżej elementy składowe.
Programowanie na Androida a analiza rozwiązań wykorzystywanych przez konkurencję
Istnieje bardzo wiele korzyści, które może przynieść gruntowna analiza tworzonych przez konkurencję aplikacji Android Aplikacje te bowiem – nawet jeśli przeznaczone są innemu segmentowi rynku, niż ten, w który celuje nasz klient – stanowią doskonałe źródło inspiracji.
Dzięki nim możliwe jest nierzadko odkrycie funkcjonalności, która wyniesie program znacząco ponad najśmielsze oczekiwania ich twórców, a przy odpowiednim zaimplementowaniu w ramach własnego rozwiązania, zapewni maksymalne wykorzystanie atutów, które niesie ze sobą programowanie na Androida.
Programowanie Android a zoptymalizowany interfejs i funkcjonalność
Jeśli chodzi o programowanie Android jest systemem operacyjnym, który oferuje olbrzymie możliwości w zakresie personalizowania tworzonych aplikacji. Z możliwości tych trzeba jednak korzystać rozsądnie, ponieważ łatwo na tej płaszczyźnie o przesadę, czego przykładem może być chociażby nadmierne wykorzystywanie notyfikacji, czyli jednej z głównych przyczyn usuwania aplikacji przez użytkowników.
W dużym skrócie programowanie aplikacji na Androida powinno skupiać się pod tym kątem przede wszystkim na tym, aby:
- do minimum ograniczać liczbę akcji, które musi wykonać użytkownik w celu osiągnięcia określonego efektu,
- interfejs był jak najbardziej zwięzły i treściwy,
- nawigacja była intuicyjna,
- aplikację dało się obsługiwać jedną ręką,
- minimalizować tzw. obciążenie poznawcze (z ang. „Cognitive Load”), czyli ilość uwagi, której oczekujemy od użytkownika podczas korzystania przez niego z programu.
Programowanie aplikacji Android a optymalizacja w zakresie wydajności
Jednym z najważniejszych czynników dla naszych deweloperów jest uzyskiwanie dużej szybkości działania aplikacji Android Aplikacje działające w sposób powolny bowiem już na starcie zniechęcają do siebie użytkowników.
Dodatkowo staramy się także skrajnie redukować ilość zużywanych przez aplikacje na Androida zasobów, z uwagi na to, że programy zajmujące dużo miejsca na dysku, intensywnie zużywające baterie czy też zbyt silnie obciążające pamięć operacyjną urządzenia, bardzo szybko usuwane są przez użytkowników.
Tworzenie aplikacji na Androida w wykonaniu it-solve - dodatkowe szczegóły dotyczące współpracy
Niezależnie od tego, czy poszukujesz zewnętrznego partnera do rozwijania już istniejącej aplikacji, czy też interesuje Cię firma, która wykona ją dla Ciebie od podstaw na bazie samego przedstawionego jej konceptu, decyzja dotycząca wyboru konkretnego software house’u nie jest łatwa do podjęcia. Od tego wyboru w sposób bezpośredni uzależniony będzie bowiem sukces albo porażka przedsięwzięcia.
it-solve wyróżnia się na tle konkurencji nie tylko dużym doświadczeniem, jeśli chodzi o pisanie aplikacji na Androida, ale również unikalnym podejściem względem potrzeb klientów. To właśnie dzięki niemu mamy pełną świadomość dylematów, z którymi muszą się oni mierzyć przed podjęciem decyzji dotyczącej współpracy z określonym dostawcą oprogramowania.
W związku z tym, poniżej przygotowaliśmy garść cennych informacji, które pozwolą Ci jeszcze lepiej poznać naszą firmę i silniej utwierdzić się w przekonaniu co do naszych wysokich kompetencji i olbrzymiego pietyzmu, z którym odbywa się w naszym wydaniu tworzenie aplikacji na Androida. Mamy nadzieję, że dzięki opisanemu poszerzeniu perspektywy, stojąca przed Tobą decyzja będzie wiązać się z mniejszym stresem i stanie się zwyczajnie łatwiejsza do podjęcia.
Pisanie aplikacji na Androida - realna gwarancja niezawodności
W kwestii takiej jak efektywne i niegenerujące błędów programowanie Android stanowi nieco większe wyzwanie niż konkurencyjny system operacyjny od giganta z Cupertino. Z kluczowych, choć nieporuszonych jeszcze aspektów współpracy z naszą firmą warto zacząć zatem od tych związanych z udzielaną przez nas gwarancją na napisane aplikacje.
Jej czas trwania oraz wszelkie pozostałe szczegółowe warunki są niejednolite i każdorazowo dostosowywane do specyfiki zlecenia konkretnego klienta, dzięki czemu otrzymujesz precyzyjnie korespondujący z Twoimi potrzebami zakres ochrony. Kluczowe jest jednak przede wszystkim to, że owa ochrona nie jest mglistą obietnicą dotyczącą niezawodności pracy programu, ale rzeczywistym zapisem w zawieranej umowie, który w sposób realny zabezpiecza interesy Twojego biznesu.
Tworzenie aplikacji na Androida w sposób efektywny i opłacalny
Z pozostałych informacji ważnych dla osoby potencjalnie zainteresowanej współpracą z it-solve, na pewno należy wspomnieć również o podporządkowaniu wszystkich naszych działań idei Agile, czyli tzw. programowaniu zwinnemu. Zalety związane z naszą pracą we wspominanym procesie objawiają się przede wszystkim w tym, że pisanie aplikacji na Androida jest w naszym wykonaniu w pełni zoptymalizowane pod względem przynoszonych Ci korzyści. Oznacza to w skrócie tyle, że każdy nasz krok podyktowany jest zarówno chęcią uzyskania wysokiej wydajności oraz bezawaryjności oprogramowania, jak i minimalizacją generowanych kosztów.
Jeżeli zatem interesuje Cię efektywne, a przy tym też zoptymalizowane pod względem koniecznych do poniesienia wydatków programowanie Android jest systemem, w ramach którego przygotujemy dla Ciebie aplikację idealną. Przekonaj się o tym osobiście, nawiązując kontakt z naszymi konsultantami i umawiając się z nami na niezobowiązujące spotkanie.
Od pomysłu do analizy
Po zapoznaniu się z potrzebami biznesowymi Klienta zaczynamy pracę nad dokumentacją projektu. W niej określone są szczegółowo wszystkie funkcjonalności systemu lub aplikacji. Elementem specyfikacji często są makiety, które wizualnie przedstawiają interfejs aplikacji.
W procesie tworzenia specyfikacji uczestniczy Klient; organizujemy ok. 3 spotkania w celu doprecyzowania szczegółów i upewnienia się, że projektowany produkt będzie spełniał wszystkie wymagania. Wybieramy technologie i narzędzia, z których będziemy korzystać na etapie programowania. Makiety wraz z dokumentacją stanowią silny fundament projektu: pozwalają na szybkie rozpoznanie ryzyka oraz sporządzenie dokładnej wyceny. W ten sposób eliminujemy niespodzianki, które mogłyby się pojawić w trakcie tworzenia produktu.
Po akceptacji specyfikacji sporządzamy wycenę całości prac graficznych oraz programistycznych.
Wycena projektu przygotowywana jest zarówno przez project managerów jak i programistów.
Proces makietowania produktu
Makiety wykonujemy podczas sporządzania dokumentacji lub na początku realizacji projektu. Tworzymy je, by usprawnić pracę zespołu projektowego. Makiety są klikalne – zabieg ten służy jak najlepszemu odwzorowaniu mechanizmu działania produktu w praktyce. Klient upewnia się, że proponowane rozwiązania są odpowiadające jego potrzebom biznesowym i może je modyfikować. Nanosimy poprawki od razu po zgłoszeniu jego uwag. Tym sposobem zmiany są o wiele mniej kosztowne niż gdyby miały zajść podczas prac programistycznych lub po otrzymaniu kompletnego projektu graficznego.
Dobry prototyp aplikacji pozwala na wczesne określenie problematycznych punktów systemu i zminimalizowanie ryzyka projektu.
Przykładowe makiety jednego z naszych projektów.
Na podstawie makiet designerzy tworzą spójne widoki aplikacji widząc od razu cały jej kontekst. W czasie, w którym czekamy na wykonane widoki graficzne, programiści na podstawie makiet i dokumentacji projektują strukturę aplikacji lub systemu.
Do wizualizacji funkcjonalności panelu administracyjnego zazwyczaj nie są potrzebne widoki graficzne – wtedy programiści kodują wyłącznie na podstawie dokumentacji i makiet.
Tworzymy aplikację
Po podpisaniu umowy do projektu włączamy studio graficzne, które przygotowuje wizualny projekt aplikacji. Klient otrzymuje trzy propozycje kilku podstawowych widoków. Po wybraniu propozycji najbardziej trafiającej w potrzeby biznesowe, studio graficzne wykonuje resztę grafik, a my przystępujemy do kodowania aplikacji.
Pracujemy zgodnie z metodyką Scrum. Sprinty są z góry narzucone i trwają zazwyczaj dwa tygodnie. Programiści samodzielnie organizują sobie pracę i kolejność wykonywania poszczególnych zadań z uwzględnieniem celu każdego sprintu ustalonego wspólnie z Właścicielem Produktu (ang. Product Owner). Cyklicznie generujemy nową wersję aplikacji oraz udostępniamy ją Klientowi, by mógł on na bieżąco śledzić postęp prac programistycznych.
Dbamy o wysoką jakość wytwarzanego przez nas oprogramowania, dlatego tester uczestniczy w tym procesie od samego początku. Cały zespół jest odpowiedzialny za tworzony projekt. Codziennie rozmawiamy podczas krótkich spotkań (ang. daily scrum) o postępach pracy i przeszkodach, które mogą utrudnić realizację wyznaczonych celów. Ukończoną aplikację wdrażamy na serwer wskazany przez Klienta.
Większość programistów nie zabiera się od razu do kodowania. Zamiast tego poświęcają trochę czasu na zaprojektowanie tego, co chcą zaprogramować.
Oferujemy gwarancję i wsparcie techniczne
Na swoje produkty udzielamy gwarancji – przez okres jej trwania każdy zgłoszony przez Klienta błąd będzie poprawiony. Sporządzamy z Klientem umowę SLA określającą zakres wsparcia, które oferujemy po wdrożeniu projektu. W umowie tej określamy wymagany poziom dostępności oraz metody monitorowania funkcjonowania produktu.
W umowie opisujemy również sposób zgłaszania awarii przez Klienta – podajemy kontakt do osób odpowiedzialnych za wsparcie techniczne oraz określamy ramy czasowe, w przeciągu których naprawiona zostanie awaria. Umowę sporządzamy wspólnie dopasowując się do oczekiwań Klienta.
Zapraszamy do współpracy!
Google Android
Android – system operacyjny z jądrem Linux dla urządzeń mobilnych takich jak telefony komórkowe, smartfony, tablety (tablety PC) i netbooki. W 2013 roku był najpopularniejszym systemem mobilnym na świecie[2][3]. 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[4]. Cecha ta odróżnia Androida od wielu innych istniejących obecnie dystrybucji Linuksa. Początkowo był rozwijany przez firmę Android Inc. (kupioną później przez Google), następnie przeszedł pod skrzydła Open Handset Alliance.
Android zrzesza przy sobie dużą społeczność deweloperów piszących aplikacje, które poszerzają funkcjonalność urządzeń. W sierpniu 2014 było dla tego systemu dostępnych ponad 1,3 miliona aplikacji w Google Play (wcześniej Android Market)[5].
Według danych serwisu StatCounter z kwietnia 2017 roku Android miał największe udziały na rynku systemów operacyjnych[6][7].
Android w wersji 2.3
Kupno Android Inc. przez Google [ edytuj | edytuj kod ]
W lipcu 2005 roku Google zakupiło Android Inc., niewielką firmę z Kalifornii[8].
Założyciele firmy, którzy zaczęli pracę w Google to m.in. Andy Rubin (współzałożyciel firmy Danger), Rich Miner (współzałożyciel Wildfire Communications, firmy w 2000 roku przejętej przez Orange), Nick Sears (T-Mobile) i Chris White (jeden z pierwszych inżynierów w WebTV). Ówcześnie wiedziano o Android Inc. niewiele więcej niż to, że tworzą oprogramowanie dla urządzeń mobilnych[8]. Zakup firmy przez Google spowodował powstanie plotek, jakoby firma Google zamierzała wejść na rynek urządzeń mobilnych, jednakże niejasne było, jaką funkcję zamierza przyjąć w ramach tego rynku.
Już w Google zespół pod kierownictwem Rubina stworzył system operacyjny dla urządzeń mobilnych, oparty na Linuksie, z myślą o wytwórcach sprzętu mobilnego i operatorach telefonii komórkowej. Google już wtedy dobrał sobie partnerów w świecie sprzętu komputerowego i oprogramowania oraz zasygnalizował operatorom komórkowym gotowość do współpracy[9][10][11].
W grudniu 2006 roku spekulacje na temat wejścia Google na rynek mobilny nasiliły się ponownie. Według doniesień BBC i The Wall Street Journal Google zmierza do udostępnienia „wyszukiwarki Google i aplikacji Google na urządzeniach mobilnych, każdego dnia pracując nad tym bardzo ciężko”. Media drukowane i internetowe zaczęły rozgłaszać plotki, jakoby Google pracował nad firmowanym przez siebie telefonem komórkowym (gPhone)[12]. Kolejne domniemania nasiliły się wraz z pogłoskami, że Google pracuje nad specyfikacją techniczną swojego rozwiązania i prezentuje prototypy wytwórcom urządzeń mobilnych oraz operatorom. Podobno, w sumie aż 30 prototypowych telefonów[13]. Network World donosił, iż telefon Google to otwarty system operacyjny dla telefonów komórkowych, a nie konkretne urządzenia, jak iPhone[13]. Phoronix donosił, że Google zamierza rozpocząć współpracę nad GPhone’em z OpenMoko[14], projektem mającym na celu stworzenie platformy dla urządzeń mobilnych całkowicie opartej o wolne oprogramowanie, m.in. jądro Linux.
Przyznane patenty i dokonane zgłoszenia patentowe [ edytuj | edytuj kod ]
We wrześniu 2007 roku, InformationWeek donosił, że Google złożył kilka wniosków patentowych dotyczących telefonii mobilnej, zwracając uwagę, że nadejście gPhone’a jest bliskie[15][16]. Kilka ważniejszych zgłoszeń patentowych dokonanych w Stanach Zjednoczonych:[15]
US Patent 6785566 : Obudowa telefonu komórkowego
: Obudowa telefonu komórkowego US Patent 6982945 : Przekaźnik radiowy
: Przekaźnik radiowy US Patent 6829289 : Wykorzystanie pseudolosowej funkcji Hadamarda w bezprzewodowych systemach CDMA
: Wykorzystanie pseudolosowej funkcji Hadamarda w bezprzewodowych systemach CDMA US Patent Application 20070067329 : Przeciążona sesja komunikacyjna
: Przeciążona sesja komunikacyjna US Patent Application 20070159522 : Obrazkowa, kontekstowa reklama
: Obrazkowa, kontekstowa reklama US Patent Application 20060004627 : Reklamy dla urządzeń z funkcją telefonu
: Reklamy dla urządzeń z funkcją telefonu US Patent Application 20050185060 : Obrazkowe zapytania skierowane do wyszukiwarek, dla telefonów komórkowych wyposażonych w aparaty fotograficzne
: Obrazkowe zapytania skierowane do wyszukiwarek, dla telefonów komórkowych wyposażonych w aparaty fotograficzne US Patent Application 20070066364: Aplikacje dla urządzeń mobilnych
Google dokonało także zgłoszenia patentowego dotyczącego systemu płatności dla telefonii komórkowej, co tym bardziej przekonywało o planach wprowadzenia gPhone’a[11][17]. GPay[18], jak nazwano ów system płatności, miał pozwalać użytkownikowi na przeprowadzenie transakcji pieniężnej poprzez wysłanie specjalnego tekstu do usługi Google, zawierającego szczegóły transakcji. GPay skontaktowałby się wtedy z bankiem płacącego i bankiem beneficjenta w celu realizacji transakcji. Patent ów może nie zostać przyznany, ponieważ podobny otwarty projekt Aircash już istnieje[19].
Założenie Open Handset Alliance [ edytuj | edytuj kod ]
Dzisiejsze ogłoszenie jest ważniejsze niż jakikolwiek pojedynczy Google Phone, o którym prasa spekulowała przez ostatnie kilka tygodni. Naszą wizją jest wyposażenie w tę potężną platformę tysięcy różnych modeli telefonów. [20] Eric Schmidt , 5 listopada 2007
5 listopada 2007 założono Open Handset Alliance – konsorcjum, w skład którego wchodzą m.in. Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Sprint Nextel oraz NVIDIA, z myślą o rozwoju otwartych standardów dla telefonii mobilnej[21]. Wraz z ogłoszeniem powstania OHA zaprezentowano platformę Android. Eric Schmidt zdementował wszystkie poprzednie plotki na temat istnienia gPhone’a.
Tego samego dnia kilka firm (m.in. Microsoft, Nokia i Apple) niezrzeszonych w OHA zareagowało na jego powstanie[22].
Jedno z pierwszych urządzeń prototypowych wyposażonych w Androida
12 listopada 2007 roku OHA opublikowało pierwszą wersję Android SDK, w którego skład wchodzą narzędzia programistyczne, debugger, biblioteki, emulator, dokumentacja, przykładowe projekty, tutoriale, FAQ i wiele innych. Programiści muszą zainstalować Android SDK na komputerze kompatybilnym z x86 z systemem Windows XP lub Vista, Mac OS X 10.4.8 (lub późniejszym), bądź GNU/Linux. SDK wymaga także Java Development Kit, Apache Ant i Pythona 2.2 (bądź późniejszego). Eclipse 3.2 (bądź późniejsze) jest jedynym oficjalnie obsługiwanym IDE dzięki wtyczce Android Development Tools Plugin, ale programiści mogą także używać narzędzi konsolowych w celu tworzenia i debugowania aplikacji na Androida.
Wrażenia programistów z użytkowania SDK jak dotąd były zróżnicowane[23]. Narzekano między innymi na błędy, brak dokumentacji, niewłaściwą infrastrukturę jakości (QA) i brak publicznie dostępnego systemu raportowania błędów. Pomimo tego pierwsze aplikacje na Androida zaczęły się pojawiać już tydzień po opublikowaniu platformy. Pierwszą dostępną publicznie aplikacją był Wąż[24][25].
Google zaoferowało łącznie 10 milionów dolarów w ramach konkursu na najbardziej innowacyjne aplikacje przeznaczone dla systemu Android[26]. Termin składania aplikacji w ramach konkursu upłynął 14 kwietnia 2008. Do tego czasu zgłoszono 1788 aplikacji z ponad 70 krajów. Najwięcej wpłynęło ich w ostatnich godzinach przed terminem – nawet do 170 aplikacji na godzinę.
W ramach Mobile World Congress 12 lutego 2008 Google zaprezentował co najmniej trzy działające prototypy wyposażone w Androida.
Pierwszym telefonem wyposażonym w system operacyjny stał się HTC Dream, w Polsce sprzedawany pod marką Era G1 przez sieć telekomunikacyjną Era (obecnie T-Mobile) od lutego 2009 roku.
Według badań z drugiego kwartału 2012 roku urządzenia z systemem Android stanowiły 64% światowego rynku tabletów i smartfonów[27]. Każdego roku w okolicach sierpnia ma miejsce premiera nowej wersji systemu Android[28].
Osobny artykuł: Wersje systemu Android.
System pozwala na korzystanie z usług Google, w tym niektórych dedykowanych specjalnie na Androida:
Z tym tematem związana jest kategoria: Urządzenia z systemem operacyjnym Android.
Pierwszym dostępnym w sprzedaży urządzeniem z systemem Android był G1 (znany też jako HTC Dream).
Przeważająca część urządzeń wyposażonych w ten system to urządzenia z ekranem dotykowym, w tym telefony komórkowe, tablety PC oraz czytniki książek elektronicznych. Planowane jest również wprowadzenie tego systemu dla urządzeń set-top box (patrz Google TV). Istnieją również konsole do gier (Nvidia Shield) oparte na Androidzie[29].
Leave a Comment