Jak zostać programistą Full Stack: część 3

Opublikowany: 2017-12-02

Ten post jest trzecim i ostatnim z serii o zostaniu deweloperem full-stack. Ten artykuł mówi konkretnie o tworzeniu aplikacji mobilnych. Przeczytaj tutaj, aby dowiedzieć się więcej o rozwoju frontendu i backendu.
Kiedy Steve Jobs wprowadził iPhone'a w 2007 roku, zapoczątkował on największą rewolucję, jakiej świat był świadkiem od czasu prasy drukarskiej. Smartfonom udało się przeniknąć niemal do każdego kraju na świecie. Nawet najubożsi zdają się być w posiadaniu jednego tak bardzo, że życie bez nich wydaje się nie do pomyślenia.

Motywacja

Istnieją pewne aplikacje, które mają sens tylko wtedy, gdy działają na telefonie. Weźmy na przykład Ubera. Uber musi znać Twoją dokładną lokalizację za pomocą GPS. Aplikacja Uber na komputery nie miałaby większego sensu.
Inną kwestią jest to, że większość Twoich odbiorców otworzy Twoją aplikację przez telefon, nawet jeśli jest on stworzony dla przeglądarek. W takich przypadkach konieczne jest upewnienie się, że środowisko jest płynne i nie zużywa zbyt dużo danych. Wreszcie, istnieją subtelne różnice między interakcją za pomocą kliknięć myszą a dotyku. Twoja aplikacja musi mieć pewność, że będzie się dobrze zachowywać w obu scenariuszach.
Mając na uwadze wszystkie te kwestie, warto wyjść z przeglądarki i tworzyć aplikacje mobilne. Gwarantuje to maksymalne wykorzystanie funkcjonalności typowego smartfona, jednocześnie sprawiając przyjemność użytkownikowi. Poniżej znajdują się kroki, aby przyspieszyć rozwój aplikacji mobilnych. W pierwszej części zostanie pełnoprawnym programistą w zakresie programowania frontendu i backendu.

Jak zostać programistą oprogramowania internetowego typu Full-Stack UpGrad blog Programowanie mobilne

Wywiad z Ankit Tomar, współzałożycielem i CTO, Bizongo

Spis treści

Krok 12: Wybierz platformę

Pierwszym krokiem byłby wybór platformy, na której chciałbyś zbudować swoją aplikację. Jeśli nie jesteś częścią dość dużego zespołu, jest bardzo mało prawdopodobne, że będziesz budować aplikacje od podstaw na wszystkich głównych platformach. Bardziej prawdopodobnym scenariuszem jest to, że będziesz kodować na swojej ulubionej platformie, a następnie po prostu przeniesiesz ją na inne.
Obecnie główne platformy smartfonów to iOS, Android i Windows. Używają drastycznie różnych języków i IDE. Na przykład iOS używa Swift i XCode, Android używa Javy i Android Studio, a Microsoft obsługuje C# i Visual Studio.
Rynek jest dziś zdominowany przez Androida i iOS, więc wybór tak naprawdę sprowadza się do tych dwóch. Niektóre rzeczy, które musisz wziąć pod uwagę przed dokonaniem wyboru, to udział odbiorców Twojej aplikacji. Uważam, że tworzenie aplikacji na iOS ma sens biznesowy, jeśli jesteś w kraju pierwszego świata, ponieważ urządzenia Apple są tam niezwykle popularne. W przeciwieństwie do tego, w kraju takim jak Indie, Android byłby bardziej oczywistym wyborem, ponieważ udział w rynku iPhone'ów jest niezwykle mały ze względu na jego wygórowaną cenę.
Jeśli planujesz zarabiać na swojej aplikacji, pamiętaj, że użytkownicy iOS częściej otwierają swoje portfele na zakupy w aplikacji niż ich odpowiednicy z Androidem. Może to wynikać z tego, że użytkownicy iOS zwykle mają większy dochód rozporządzalny w porównaniu z rynkami trzeciego świata, na których dominuje Android.
Programowanie na iOS wymaga posiadania komputera Mac Development. Ponadto licencje Apple App Store kosztują 99 USD rocznie w porównaniu z jednorazową opłatą w wysokości 25 USD w Google Play. Innymi słowy, rozwój iOS jest znacznie droższy.
W tym poście omówię, jak dzisiaj przebiega tworzenie aplikacji mobilnych: natywne aplikacje na Androida, natywne aplikacje na iOS i hybrydowe aplikacje mobilne.

Krok 13: Java i XML

Java jest najpopularniejszym językiem dla Android Development (Google niedawno wprowadził również obsługę języka programowania Kotlin).
Twórcy Androida uznali Javę za właściwy wybór i trzymali się jej od samego początku. A jeśli ich trajektoria jest czymś do przebycia, była to niesamowita decyzja.
Jak zostać programistą oprogramowania internetowego typu Full-Stack UpGrad blog Programowanie mobilne
Najlepszym źródłem do nauki Javy będzie Head First Java. Przeczytanie tej książki da ci gruntowne wprowadzenie do języka, a także do zasad programowania zorientowanego obiektowo.
Jeśli chodzi o XML, myślę, że nie potrzebujesz skoncentrowanego samouczka na ten temat. Pracowałeś już intensywnie z podzbiorem XML (HTML) i będziesz w stanie to rozgryźć dość szybko, nawet jeśli miałbyś przejść bezpośrednio do programowania Androida. Nie mogę powiedzieć tego samego o Javie. Upewnij się, że dobrze znasz język, zanim zaczniesz korzystać z Androida.

Krok 14: Android

Masz teraz techniczną wiedzę, jak tworzyć aplikacje na Androida. Czas zagłębić się w ten rewolucyjny system operacyjny. Uważaj jednak, że niektóre praktyki Androida różnią się od tego, co zwykle widzisz w Internecie. Zasoby, które zasugerowałem poniżej, zapewnią, że te różnice nie będą utrudniać nauki.
Programowanie na Androida - The Big Nerd Ranch Guide 2nd Edition to dobre miejsce na rozpoczęcie, jeśli znasz już Javę. Upewnij się, że wybrałeś drugą edycję, ponieważ jest to ta, która korzysta z Android Studio, które jest obecnie standardem branżowym. Praktyka tworzenia aplikacji w Eclipse jest w dużej mierze przestarzała.
Wywiad z Farooq Adamem, współzałożycielem Fynd

Krok 15: iOS

Jeśli jesteś bardziej miłośnikiem Apple i/lub zdecydowałeś, że aplikacje na iOS mają większy sens dla Twoich aspiracji biznesowych/zawodowych. Pierwszym krokiem byłoby nabycie komputera Mac. XCode działa tylko na Macu i aby publikować w App Store, potrzebujesz Maca. Przepraszamy, VMWare.
Zasób, który zamierzam zasugerować na iOS, jest dokładnie taki sam, jak na Androida. Nerd Ranch ma własną publikację – Programowanie na iOS: Przewodnik po Big Nerd Ranch który zajmuje się Swiftem i XCode, więc jest to dobre miejsce do rozpoczęcia.

Jak zostać programistą oprogramowania internetowego typu Full-Stack UpGrad blog Programowanie mobilne

Krok 16: Hybrydowe aplikacje mobilne

Jeśli jesteś samodzielnym programistą lub pracujesz w małym zespole, prawdopodobnie nie masz czasu ani zasobów, aby oddzielnie tworzyć i utrzymywać aplikacje na Androida i iOS. Aby złagodzić ból programistów związanych z tworzeniem dla wielu platform, wprowadzono koncepcję Hybrid Mobile Apps.
Koncepcja jest niezwykle prosta i rewolucyjna. Jeśli znasz JavaScript, wiesz już, jak tworzyć aplikacje internetowe. Dlatego jeśli masz aplikację w JS, musi istnieć framework, który automatycznie przenosi twoją aplikację na Androida, iOS i Windows. Niesamowite, ale prawdziwe.
Większość frameworków hybrydowych osiąga to za pomocą Cordova lub React Native. Możesz myśleć o Cordovie jako o pomoście między przeglądarkami a natywnym sprzętem smartfona. Nawiązuje połączenie między nimi wyłącznie przy użyciu JS i pomaga w tworzeniu skryptów kompilacji w natywnych językach każdej platformy.
Jednak frameworki oparte na Cordovie są szybko przyćmione przez potęgę Facebooka, React Native. Siła React Native polega na tym, że podczas gdy Cordova tworzy WebViews, React Native pozwala tworzyć natywne aplikacje, które można zbudować przy użyciu Javy (dla Androida) lub Swift (dla iOS). Innymi słowy, Cordova to strona internetowa podszywająca się pod aplikację mobilną, ale React Native pozwala zbudować prawdziwą .
Moim zdaniem możesz dać sobie spokój z Cordovą i zamiast tego nauczyć się React Native. To niezwykle wspaniała inwestycja w karierę. Program rozwoju oprogramowania UpGrad & IIIT-B to świetne miejsce do rozpoczęcia podróży z tą rewolucyjną biblioteką, która była już wykorzystywana przez firmy takie jak Facebook, Netflix i AirBnB do projektowania swoich aplikacji.
Wywiad z Farooq Adamem, współzałożycielem Fynd

Wniosek

Wraz z zakończeniem aplikacji hybrydowych dochodzimy do końca tej serii. Podsumowując, oto rzeczy, które omówiliśmy:

  1. Podstawy informatyki.
  2. Struktury danych i algorytmy
  3. UI/UX
  4. HTML, CSS, JS
  5. Ramy front-endowe
  6. Skrypty i bazy danych po stronie serwera
  7. Ramy pełnego stosu
  8. Android i iOS
  9. Hybrydowe aplikacje mobilne

Mam nadzieję, że czytanie tej serii sprawiło wam tyle samo przyjemności, co mnie jej pisanie, a co ważniejsze, przynajmniej niektóre części okazały się przydatne. Jak zawsze mile widziane są Wasze komentarze i sugestie!

Zostań programistą Full Stack

UpGrad i IIIT-Bangalore's PG Diploma in Software Development
Ucz się więcej