Nauka tworzenia aplikacji na Androida w roku 2020.

0

Dzień dobry.

Chciałbym się nauczyć tworzyć aplikacje na systemy Android dla własnej satysfakcji.
Krótko o mnie. Znam C++, trochę Qt, dobrze SFML, lata temu tworzyłem aplikacje na WIndowsa i GNU/Linux (Mint)
Trochę bawiłem się Pythonem...
Wszystko hobbistycznie.

Piszę ponieważ w internecie jest bardzo dużo materiałów żenująco niskiej jakości które nie odpowiadają na pytania nowicjusza.
Oczywiście część z nich jest płatna gdzie nabyłem kurs w którym łamanym angielskim mieszkaniec Indii uczy tworzenia aplikacji na zasadzie powtórz po mnie, Będziesz hakierem....

Proszę też aby czytający nie unosili sie jeżeli zadam pytanie które wyjadaczom wyda się banalne.
Nie znalazłem też wątku na forum który byłby w miarę świeży i sprawiał wrażenie że wiedza jest aktualna.

  1. Jaki język programowania?
    Znam C++, słyszałem lata temu że w C++ można pisać aplikacje na Androida, czy to prawda?
    A może czeka mnie nauka Javy? Czym jest na dzień dzisiejszy Kotlin, osobnym językiem czy frameworkiem? Słyszałem że najpierw trzeba umieć Jave aby był sens nauki Kotlin... czy to prawda?

  2. Jakie IDE polecacie? Jest jedno właściwie, mianowicie Android Studio czy można korzystać z innych?
    Które IDE będzie najlepiej zainstalować wg was jeżeli jest się osobą początkującą?

3)Skąd czerpać wiedzę?
Język angielski oczywiście nie jest problemem.

Filmy, blogi książki?
Osobiście preferuje źródła pisane gdyż szybciej się czyta niż ogląda.
Chciałbym czytając nie tylko dowiadywać się co robić ale też dlaczego.
Czy możecie coś polecić?

Pozdrawiam
CiscoDisco
:)

4
  1. Idź w Kotlina, ponieważ cały świat wyraźnie skręca w kierunku Kotlina jeśli chodzi o programowanie aplikacji mobilnych.

  2. Tylko i wyłącznie Android Studio.

  3. Udemy.com - jakieś podstawowe kursy które pokazują podstawowe rzeczy, potem dokumentacja, youtube, stackoverflow i projekty, projekty, projekty.

2

Witam Panie CiscoDisco,

  1. Na androidzie można pisać w C++ ale 99% przykładów będzie w javie / kotlinie.
    A może czeka mnie nauka Javy? - nie do końca
    Czym jest na dzień dzisiejszy Kotlin, osobnym językiem czy frameworkiem? - osobny język jak java / groovy / c++
    Słyszałem że najpierw trzeba umieć Jave aby był sens nauki Kotlin... czy to prawda? - już nie. Przykłady kodów na androidzie są już dostępne w dwóch wersjach: java oraz kotlin.

  2. Android Studio

https://androidweekly.net/
https://developer.android.com/docs
https://codelabs.developers.google.com/
https://github.com/android/architecture-samples

2
  1. Java na adroidzie jest hamowana na wersji 8 (zadałem na forum pytanie, ale nikt mnie nie przekonał, że myślą o nowszych)
  2. wpadam do adroidowego projektu raz na 3-4 kwartały (utrzymaniówka). AS jest mocno upierdliwe, puchnące katalogi z upgradami (itd), wolę zaorać i wgrać nowe. Puchnie bardziej niż wszystkie inne IDE razem (wiem, ze spłycam nieco, to w jakimś stopniu API androida)
  3. w zasobach androidowo-developerskich u googla (nie mówię o wyszukiwarce) są chyba nadal dość dobre tutoriale. Wygenerować apkę przykładową, zmieniać ...
5

Zainteresuj się Flutterem. To nowy wynalazek stworzony i promowany przez Google.
Ludzie się tym zachwycają.
Można tworzyć aplikacje o prędkości działania zbliżonej do aplikacji natywnych (uwaga - gier, zwłaszcza 3D w tym na razie nie zrobisz). Ponadto Flutter tworzy jednocześnie na Apple i Androida. Są jakieś prace, żeby dało się w tym robić webówkę oraz desktopy, ale na razie to są raczej eksperymenty/ciekawostki.
Plusem jest, że prawdopodobnie będzie to natywny sposób tworzenia aplikacji na Fuchsia - czyli następcę Androida (aczkolwiek to wszystko jeszcze mocno niejasne i wiele może się zmienić).

@AdamWox może coś dodać w temacie Fluttera :)

Temat Fluttera już się pojawiał na forum:
https://4programmers.net/Forum/Mobilne/319359-
https://4programmers.net/Forum/Mobilne/332161-
https://4programmers.net/Forum/Mobilne/329285-
https://4programmers.net/Forum/Mobilne/329247-
https://4programmers.net/Forum/Mobilne/306357-
https://4programmers.net/Forum/Mobilne/337311-
https://4programmers.net/Forum/Mobilne/329171-
https://4programmers.net/Forum/Mobilne/330896-
https://4programmers.net/Forum/Mobilne/340658-
https://4programmers.net/Forum/Mobilne/338626-
Jaki język programowania wybrać na start?

I kilka linków spoza 4P:
https://www.netguru.com/codestories/topic/flutter
https://programistanaswoim.pl/materialy-do-nauki-fluttera-i-darta/
https://www.e-point.pl/blog/react-native-czy-flutter
https://bulldogjob.pl/articles/920-czy-warto-uzyc-google-flutterv
https://it-solve.pl/google-flutter-co-to-jest-dlaczego-warto-go-uzywac/
https://makoblog.com/pl/flutter-przyszlosc-tworzenia-aplikacji-mobilnych/
https://medium.com/@leancode/czym-jest-flutter-i-dlaczego-warto-si%C4%99-nim-zainteresowa%C4%87-7b6a11d41e67

0

@cerrato: gry i tak robi się w C#/Unity, Kotlin by się tu nie przydał. Co do IDE, można jeszcze Intelij, ale to jest to samo.

1

Odnośnie fluttera nie tak dawno o tym pisałem: Wejście w IT prościej niż front-end ?

1

@cerrato: Połączył nas Flutter <3

Ja teraz zaczynam wrzucać link do przykładowych aplikacji napisanych we Flutterze dla zademonstrowania jak dużo można zrobić. Czas stworzenia "wodotrysków", UI, UX (jak dla mnie) jest zdecydowanie krótszy i daje, na pewno, większe możliwość niż Xamarin, a śmiem twierdzić, że te same co Java/Kotlin + XML. Składnia może odstraszać, ale z czasem to wszystko nabierze sensu. Polecam :-)

2

Zgadzam się, wodotryski można robić znacznie łatwiej, niż natywnie. Podejście jest jednak inne i trzeba się przestawić. Xamarin Forms to przy tym jakaś żałosna namiastka i funkcjonalnie i wydajnościowo, jak i pod względem wydajności finalnej aplikacji. Aplikacja we Flutterze naprawdę nie ustępuje wydajnością natywnej.

0

W temacie aplikacji mobilnych warto zainteresować się też tematem React Native i Ionic. Plusem (albo minusem) jest to, że używa się JavaScriptu/TypeScriptu tak jak w przypadku budowania interfejsów stron www ("Learn once, write anywhere")

https://nordicapis.com/react-native-vs-flutter-what-to-choose-in-2020/

0

@piotrevic: teraz nie chce mi się szukać, ale pewien czas temu dużo czytałem w necie - było to zanim wybrałem Fluttera. Głównie to były hasła w stylu Flutter vs Xamarin vs React. I w 80% wszystkie takie porównania wychodzą na korzyść Fluttera. O Ionicu się nie wypowiem. ale RN nie działa na poziomie natywnym, tylko przez bridge, co ma wpływ na wydajność oraz (jak pisałem - czytałem to jakiś czas temu, więc nie pamętam szczegółów) ogólnie sposób działania RN jest o wiele mniej korzystny niż Fluttera.

Tak na szybko:
https://itcraftapps.com/pl/blog/flutter-vs-react-native-porownanie-frameworkow-cross-platform/
https://geek.justjoin.it/wady-zalety-react-native-porownaniu-technologiami-natywnymi

0

Daj linka do kursu który robiłeś i powiedz czemu go wybrałeś?

Bo rozumiem że dałeś się naciągnąć, tzn. zajawka była dobra a potem kupa kamieni. Chciałem zobaczyć czy zajawka była naprawdę dobra czy po prostu zrobiłeś kiepski reaserch.

1

Jeżeli chciałbyś tworzyć apki przy pomocy Kotlina to słyszałem, że kursy Udacity są całkiem niezłe (ale sam osobiście z nich nie korzystałem):

Nawet jeśli zdecydujesz się na Fluttera to moim zdaniem i tak warto znać podstawy tworzenia apek w sposób natywny. Nie będziesz ograniczony tylko do jednej technologii, jeśli coś nie będzie dostępne we Flutterze to zawsze będziesz mógł to sam dodać natywnie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1