Program do pisania aplikacji mobilnych używany przez firmy

0

Witam ! Mam pytanie do osób pracujących w firmach tworzących aplikacje na androida. W jakich programach piszecie kod itp. ?
Chodzi o to czy takie firmy używają np. Android Studio czy jakiś innych IDE.

1

Ja używałem Android studio i podejrzewam, że większość tego używa.

0

Aplikacje natywne pisze się obecnie tylko i wyłącznie w Android Studio. Z kolei aplikacje hybrydowe czyli Ionic, React Native pisze się w Visual Studio Code, Webstorm, Atom. Do Xamarin oczywiście Visual Studio.

Ostatnio pojawił się jeszcze Flutter i tutaj najpopularniejsze IDE to Android Studio oraz Visual Studio Code.

0

@Haskell: czy możesz wyjaśnić, co oznaczają "aplikacje hybrydowe"? Akurat z pisaniem na androida nie miałem styczności i jestem ciekawy, o co chodzi z tymi hybrydami.

6

@cerrato -

Generalnie można wyróżnić trzy rodzaje aplikacji, które pisze się na Androida:

  • natywne
  • hybrydowe
  • webowe

Hybrydowe (Ionic, Cordova) to takie do których tworzenia używa się technologii webowych: html5, js, css. Taka aplikacja jest uruchamiana w natywnym kontenerze WebView i jest to tak naprawdę stroną Internetowa, która udaje aplikację natywną. Użytkownik zazwyczaj nie widzi i nie odczuwa różnicy jeżeli aplikacja jest dobrze zaprojektowana i zoptymalizowana.

React Native działa nieco inaczej, ponieważ nie używa WebView tylko tzw. mostka, który jest zbudowany w C/C++ i uruchamia kod JS oraz prowadzi komunikację pomiędzy wątkami JS, a wątkami natywnymi. Z tego też względu React Native zazwyczaj zapewnia lepsze efekty niż aplikacje hybrydowe.

Flutter z kolei działa jeszcze inaczej i jego działanie przypomina działanie frameworków do tworzenia gier, ponieważ rysuje swoje komponenty na Skia canvas napisanym w Darcie, a następnie używając GPU urządzenia wyświetla go na ekranie z częstotliwością 60fps.

0

Dzięki za wyjasnienia.
A teraz wytłumacz jak dziecku (prosto i zakładając, że odbiorca ma zerowy poziom wiedzy) - po co są takie rodzaje/typy wprowadzone? Czemu nie jest tak, jak np. w pisaniu aplikacji na desktopy, czyli że pisze się w jakimś języku, potem to kompiluje i już. Po co wprowadzili te 3 "levele"? Czy chodzi o ułatwienie portowania apek z innych OS'ów, czy jeszcze o coś innego? Na pewno takie zamieszanie z czegoś wynika i czemuś ma służyć.

1
cerrato napisał(a):

Dzięki za wyjasnienia.
A teraz wytłumacz jak dziecku (prosto i zakładając, że odbiorca ma zerowy poziom wiedzy) - po co są takie rodzaje/typy wprowadzone? Czemu nie jest tak, jak np. w pisaniu aplikacji na desktopy, czyli że pisze się w jakimś języku, potem to kompiluje i już. Po co wprowadzili te 3 "levele"? Czy chodzi o ułatwienie portowania apek z innych OS'ów, czy jeszcze o coś innego? Na pewno takie zamieszanie z czegoś wynika i czemuś ma służyć.

Zakładam, że czystemu urozmaiceniu ;-) Jak ktoś ma stack typowo JSowy to może sobie machnąć przód, tył i mobilkę tylko w JS za pomocą frameworków. Nie wiem jak z wydajnością ale kilka lat temu aplikacje potrzebujące wydajności pisało się natywnie. Do prostego wyświetlania jakichś pierdół można było zaciągnąć nienatywne technologie. Strzelam, że dziś to uległo nieco zmianie. I chyba złożenie aplikacji nienatywnie jest trochę szybsze - kroisz jedną na Androida i iOS. Natywnie musisz chyba to jednak pisać osobno co wydłuża, a jeśli nie wydłuża to powoduje, że proces wytwarzania kosztuje więcej.

3

@cerrato:

Rzeczywiście nie napisałem najważniejszego po co to tak naprawdę powstało :D Przed powstaniem frameworków hybrydowych firmy musiały napisać aplikację webową w html, js, css dla klientów korzystających z przeglądarki czy to na desktopie czy na komórce, a dodatkowo musiały napisać aplikację mobilną natywną w Objective-C pod iOS oraz w Javie pod Androida. Czyli tak naprawdę miały jeden produkt czy jeden sklep, a musiały stworzyć i utrzymać trzy różne aplikacje, w trzech zupełnie innych językach i technologiach. Dodatkowo musiały utrzymać trzy zespoły programistów, ponieważ ciężko znaleźć jeden zespół, który ogarnie wszystko albo musiały kupić aplikacje mobilne w jakimś software-housie.

Frameworki hybrydowe oznaczały ograniczenie kosztów i ułatwienie dla firm, którym zależało na szybkim dostarczeniu aplikacji na wszystkie platformy, ponieważ tworzyły tylko jedną aplikację w HTML/JS/CSS zamiast trzech. Z tego też względu najpierw pojawiły się właśnie aplikacje hybrydowe, a później React Native, Xamarin, a ostatnio Flutter, które to technologie umożliwiają utworzenie jednej aplikacji na wszystkie platformy web/ios/android albo przynajmniej duży code-reuse sięgający 70-90% pomiędzy aplikacjami.

Dodam jeszcze, że firmom nie mogła wystarczyć tylko aplikacja webowa, ponieważ aplikacja natywna umożliwiała większą retencję użytkowników, poprzez wyświetlanie powiadomień albo integrację z sensorami urządzenia np. GPS, aparat itd.

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