MARGO

Aktualności

Modern Android Development: nowe elementy języka Java

Spostrzeżenia na temat konferencji Android Modern Development podczas Devoxx France

Autor: Pierre-Yves Lefeuvre Software Engineer @SirBelga

28/05/2018

Od ukazania się w 2008 roku Androida 1.0, ekosystem Android przeszedł olbrzymią ewolucję, szczególnie w ostatnich latach, dzięki nowym elementom języka Java, zmianom związanym z terminalami i pojawieniem się nowych narzędzi. Ewoluowały również zalecenia oraz dobre praktyki.

 

Ewolucja środowiska programistycznego

W roku 2008 gdy pojawił się Android 1.0, terminale były o wiele mniej wydajne niż obecnie. Pierwsza wersja Androida, bazująca na architekturze Dalvik, spełniała wymogi ograniczonej pamięci. Obecnie (a nawet już od pewnego czasu), ograniczenia te nie istnieją. Android Runtime (ART) zastąpił Dalvik, optymalizując nie tylko wydajność aplikacji, ale również wykorzystanie pamięci. Równolegle do tej aktualizacji, pozytywnie zmieniły się dostępne narzędzia. W 2013 roku powstało narzędzie Android Studio, które poprawiło jednocześnie REST API. Z prostego edytora kodu z kilkoma niejasnymi narzędziami, które niewiele osób potrafiło obsługiwać, aplikacja stała się kompletnym środowiskiem programistycznym.

Android Studio 1.0:

Android Studio 1.0

Android Studio 3.1:

Android Studio 3.1

Od samego początku, Android Studio zawierało narzędzie profiling (TraceViewer) oraz narzędzie podglądu wykorzystania pamięci (DDMS). TraceViewer był graficznie skomplikowany i mało przydatny, szczególnie ze względu na trudność w odnalezieniu i w zrozumieniu. DDMS pozwoliło zobaczyć ile pamięci wykorzystuje dana aplikacja, ale bez szczegółów i bez możliwości podglądu stanu otoczenia. Te dwie aplikacje znajdują się obecnie w Android Profiler, zintegrowanym narzędziu w Studio, które umożliwia podgląd CPU, pamięci, sieci oraz interakcji użytkowników. Wszystko w jaśniejszym i prostszym interfejsie, który może być szybciej zrozumiany przez mniej doświadczonych programistów. Pozostali mogą zagłębić się w swoje analizy aplikacji, wykorzystując narzędzie Android Systrace, które dostarcza informacji na temat stanu całego systemu, a nie wyłącznie na temat podglądanej aplikacji. Jest to bardzo praktyczne, gdy trzeba odnaleźć przyczyny problemów podczas programowania.

TraceViewer:

TraceViewer

Android Profiler. O wiele przyjemniejszy i bardziej użyteczny interfejs:

Android Profiler

 

Od Java do Kotlin

Ci sami programiści mają od teraz możliwość wykorzystania w swoich projektach języka Kotlin, wspieranego oficjalnie przez Google od 2017 roku i który wnosi do języka Java wiele nowych elementów:
null-safety: kompilator rozróżnia zmienne, które mogą być zerowe i te, które zerowe być nie mogą
przeciążenie operatora
data classes: kompilator automatycznie tworzy to, czego potrzebujemy dla klas, których celem jest przechowywanie danych (a niekoniecznie ich przetwarzanie)
Wszystkie nowości sprawiają, że Kotlin jest językiem wyższego poziomu niż Java, zapewniającym programistom prostsze środki do tworzenia aplikacji, a jednocześnie pozostającym zoptymalizowany w taki sposób, aby nie zwalniać ich działania.
Dodatkowo, wprowadzenie architektury ART zamiast Dalvik pozwoliło jeszcze bardziej zoptymalizować działanie aplikacji w systemie Android.

Wszystkim poprawkom towarzyszy zmiana API oraz bibliotek udostępnianych przez zespół Androida.

 

Nowości w API

Layouty (wykorzystywane do definiowania sposobu wyświetlania aplikacji) zostały zmienione. Layout „ConstraintLayout” wprowadzony w ubiegłym roku, powinien stać się nowym standardem wprowadzania elementów aplikacji systemu Android.

ConstraintLayout w edytorze layoutu w Android Studio:

ConstraintLayout dans l'éditeur de layout d’Android studio

W konsekwencji, nowy layout umożliwia wstawienie ograniczeń między elementy interfejsu użytkownika, podobnych jak w poprzednim standardzie (RelativeLayout), ale z większą elastycznością i w pełnej integracji z edytorem layoutu w Android Studio.

Aby w pełni wykorzystać ten layout, nowy rodzaj widoku zastąpiły widoki ListView, wykorzystywane w większości do elementów widoku. Widoki RecyclerView oferują większą elastyczność i są bardziej funkcjonalne niż ListView.

RecyclerView sam sobie przeprowadza optymalizację, którą wcześniej trzeba było wykonywać ręcznie;
Widok tworzy automatycznie elementy obejmujące widoczną listę, aby były już gotowe, gdy użytkownik przegląda elementy widoku.

Widok nie tylko tworzy dodatkowe elementy, gdy użytkownik przegląda listę, ale również zapisuje elementy już przeglądane, aby były gotowe do ponownego użycia w razie potrzeby.
Jeżeli elementy wyświetlane się zmienią, istnieje możliwość automatycznego połączenia zachowań do nowych elementów.

Lista wykorzystująca RecyclerView:

Une liste utilisant RecyclerView

Inne poprawki oraz innowacje dotyczące zarządzania cyklem życia aplikacji dodano do bibliotek Androida oraz ogólnie do architektury aplikacji. Wszystkie te zmiany ogromnie ułatwiają tworzenie aplikacji i sprawiają, że programowanie staje się jeszcze bardziej dostępne dla wszystkich zainteresowanych programistów.

 


Autor: Pierre-Yves Lefeuvre Software Engineer @SirBelga
Android
IT o wysokiej wydajności
Java
Aktualności

MARGO na Warsaw J/va Meetup

Zapraszamy na J/vacon - Warsaw J/va Meetup #2 - 10 grudnia 2018 w Warszawie. Wydarzenie zrzesza pasjonatów: Java, Java EE, JavaFX, Spring, JavaServerPages, Java SE, Java ME, architektury aplikacji, aplikacji mobilnych. MARGO jest Sponsorem Złotym wydarzenia.

21/11/2018 Więcej 
Historie naszych Konsultantów

Wywiad z Marcinem - ekspertem Margo w obszarze mikroserwisów

Poznaj Marcina, który w ramach Margo tworzy aplikację dla jednego z międzynarodowych banków oraz prowadzi szkolenia z technologii Java i mikroserwisów

Więcej 
Aktualności

Sparkube: kiedy OLAP staje się dziecinną zabawą

Konsultanci Margo wzięli udział w Devoxx Francja 2018, konferencji dla programistów pasjonatów, zorganizowanej w dniach 18 - 20 kwietnia 2018 r. w Paryżu. Poniżej zamieszczamy naszą relację na temat Tools-in-Action, poświęconą projektowi Sparkube: Przekształcenie Apache Spark w kostkę OLAP, o którym opowiadał Antoine Chambille w środę 18 kwietnia.

31/05/2018 Więcej 
Notatka prasowa

Margo przedstawia nową strategię i pozycjonowanie marki

Paryż, 12 lutego 2018 — Margo, francuska firma konsultingowa utworzona w 2005 roku i specjalizująca się w IT oraz rynkach finansowych, zmienia swój model biznesowy i otwiera się na nowe sektory. Zmiana tożsamości marki obejmuje również zmianę identyfikacji wizualnej - nowe logo, nowe kolory, nowa szata graficzna, nowa strona internetowa, nowe ambicje!

12/02/2018 Więcej 
Aktualności

Wewnętrzne szkolenie z mikroserwisów

W poniedziałek 5 lutego odbyło się w Margo szkolenie wewnętrzne dla Programistów Java.

06/02/2018 Więcej