Skocz do zawartości
FlyingDutch

Jakiego softu użyć do napisania aplikacji na smartofony?

Pomocna odpowiedź

Cześć,

nie mam zbyt dużego doświadczenia w pisaniu aplikacji na smartfony. Gdzieś około 2012-tego roku napisałem małą aplikację na smartfony z Androidem 2.2 w "Android Studio" (Java).

Teraz chciałbym napisać aplikację, która z telefonu komunikuje się za pomocą Bluetooth z mikro-kontrolerem ESP32 i wysyła mu pewne dane (zależne od działań w aplikacji). W przypadku, gdyby bluetooth byłby niedostępny aplikacja przestawiała by się na komunikację Wi-Fi i wysyłałją te same dane. Aplikacja ma działać ze smartfonami z Androidem oraz na iPhone (iOS).

Zastanawiam, się jakich narzędzi użyć do jej napisania (IDE, kompilator, symulator). Dla wersji dla Androida mógłbym znów użyć "Android Studio" (Java), ale wtedy musiałbym użyć innego języka i kompilatora dla iPhone, wtedy miałbym dwie wersje źródeł aplikacji, czego chciałbym uniknąć. Zastanawiam się nad "Xamarinem" Microsoftu (moduł Visual Studio), wtedy miałbym jedną wersję źródeł w C# i mógłbym zbudować aplikację dla Androida i iOS'a.

Z tego co pamiętam to Xamarin dla Androida jest darmowy, sytuacja jednak wygląda odmiennie dla IOS (iPhone). Dla iPhone trzeba utworzyć konto programisty w serwisie Apple za około 200 US $.

Czy nadal to tak wygląda (opłata za konto programisty Apple)?

Może moglibyście polecić jakiś software do pisania aplikacji zarówno na Androida jak i IOS'a (te same źródła dla dwóch wersji aplikacji). Preferuję języki C/C++, Java, C# w ostateczności JavaScript.

Pozdrawiam

 

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Ja piszę w C++ korzystając z Qt i robi się to całkiem przyjemnie. Pisałem aplikacje korzystające z BT i BLE (Android), widziałem też źródła projektu który wykorzystywał WiFi i UDP w sposób jaki Ty chcesz to wykorzystać.

Natomiast nie miałem okazji pracować z iOS, nie mniej Qt zapewnia wsparcie dla iOS 11, iOS 12: https://doc.qt.io/qt-5/ios.html#supported-configurations

Jeśli przekona Cię Qt to zainteresuj się koniecznie modułem QtQuick (połączenie QML i JS), w którym będziesz mógł napisać cały frontend w nowoczesny sposób a backend postawić na C++.

Edytowano przez Matthew11
  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Cześć Matthew11,

dzięki za odpowiedź. C++ brzmi kusząco. Niestety nie znam Qt, a trochę mało czasu, aby się uczyć. Chyba zdecyduję się na Xamarin'a - wtedy będę miał jedne źródła dla Androida i iOS w C#. Dla Androida Xamarin jest darmowy (przynajmniej w podstawowym zakresie). Dla iOS chyba będę musiał zapłacić za konto programisty w Apple. Albo aplikację dla Androida napiszę w Javie w "Android Studio" a o napisanie wersji dla iOS poproszę kolegę, który jest w tym biegły i ma konto developerskie Apple. Na razie jeszcze nie zdecydowałem, którą wersję wybrać.

Pozdrawiam

Udostępnij ten post


Link to post
Share on other sites

Cześć,

zainstalowałem sobie najnowsze "Android studio" 3.4.1 Windows 64-bit i się rozczarowałem. Powody rozczarowania:

1) Kiedyś IDE było oparte na Eclipse (które to IDE znam dobrze). Teraz jest oparte na: "IntelliJ IDEA 2018.3.4", którego nie znam

2) Nie działa mi emulator telefonów ponieważ mam procesor AMD PhenomII, i nie mam zestawu instrukcji do virtualizacji z CPU Intela

Ogólnie IDE wydaje mi się mało czytelne i przekombinowane, poza tym działa bardzo wolno na moim kompie.

Pozdrawiam

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Podpinam się pod temat i ze swojej strony polecam NativeScript jako część frontową dla aplikacji. Pytanie jak to skomunikować z backendem a ten z koleji z kontrolerami? skąd front ma wiedzieć że np elektronika wykryła zmianę temperatury?

Udostępnij ten post


Link to post
Share on other sites

Cześć,

kontroler (elektronika) jest oparta na ESP32. Mam on obsługę Bluetooth i WiFI (wbudowany pełny stos TCP/IP). Komunikacja pomiędzy kontrolerem i smartfonem jest dokonywana za pomocą Bluetooth lub WiFi. W przypadku mojej aplikacji wystarczy komunikacja w jednym kierunku: od smartfona do kontrolera. Całość daje się oprogramować w Javie (dla Androida). Zaskoczyła mnie tylko zmiana w IDE "Android Studio", kiedyś było oparte o Eclipse a teraz jest oparte na "IntelliJ IDEA".

Pozdrawiam

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...