Witam.
Moze ja doloze pare slow do RAD Embarcadero gdyz pisze w nim aplikacje mobilne. Zaczelo sie od wersji XE6 (teraz jest juz XE8) i z kazda wersja jest coraz lepiej. Pisze tez troche w AS (Android Studio) i Visual C++ (wchodzi nakladka mobile i dla IOS, Android, WP) a takze pod microkontrolery w C. Jednak ze szkoly sredniej i studiow pozostalo mi dobrze Delphi ( ehhhh juz widze krzywe miny co niektorych). Kope lat Delphi nie uzywalem ale sprobowalem od wersji XE6 gdy zobaczylem ze mozna pisac mobilne apki. Wiec. XE6 to bylo wg mnie raczkowanie, takie wejscie Embarcadero na ten rynek. Potem XE7 juz znacznie lepiej choc bez SP1 apki przy kontrolakch typu edit i systemie z ART wysypywaly sie. SP1 do XE7 poprawilo to. Obecnie XE8.
Jedna z zalet jest multiplatformowosc aplikacji. Wiec aplikacja napisana na Android wrecz od reki (czasami malymi przerobkami) mozna skompilowac do IOS. Mi bardzo przydaje sie to, a mianowicie. Ukladam okna, kontrolki tak jak powinny widac na mobilnej ale wszystko poczatkowo kompiluje jako aplikacja deskop Windows. Nie musze mowic jakie to ulatwienie, gdyz odchodzi nam emulator i mozolna za kazdym razem kompilacja do APK. Czasami okolo minuty trzeba czekac by apka skompilowala sie i uruchomila sie na telefonie (emulator jeszcze wolniej). Teraz wziac ilosc drobnych poprawek robi sie razy czas kompulacji (np. 1 min) widac ile godzin na tym tylko oszczedzamy. Aplikacja Deskop kompiluje sie w pare sekund. Wiec jak dla mnie jest to wielkie ulatwienie. Dopiero jak mam z grubasza tak zrobiona aplikacje zmieniam kompilator na ARM i jazda na mobilna kompilacje. Tu trzeba uwazac ( z czasem kazdy pozna) ze sa male niuanse miedzy Desktopa a Mobile, np. trzeba pamietac ze android cz IOS ma inne odwolanie do polozenia plikow np bazy danych, grafik itp. Ostatnio np. mialem porownanie dwoch stringow if i na desktop oczywiscie dziala bezblednie na androidzie chocki klocki wrecz losowo i trzeba to zamienic na funkcje CompareStr lub CompareText. Tak dla przykladu napisalem.
Bazy danych.
Embarcadero ma wiele juz natywnych kontrolek do wielu baz danych od SQLlite az do Oracle. Tu musze powiedziec ze robi sie to bardziej intuicyjniej niz np w AS. BindVisual jest swietnych narzedziem, gdzie wystarczy np. przeciagac myszka (laczyc) pole z bazy danych do kontrolki. Nie trzeba pisac ani jednej linijki, kompilator zrobi to za nas wszystko. Obecnie sam robie aplikacje z wykorzystaniem SQLite na Android i dziala to bez zarzutu.
Multimedia i sensory.
Jest wsparcie dla kamery jako zdjecia,filmy, Ktora apke robilem z tym i jest ok. GPS jak najbardziej dziala poprawnie, obecnie pisze taka apke. Wyswietlanie mediow jak obrazy , filmy itp nie ma problemu. Sa kontrolki dla akcelometra, kompasu, ruchu. Wszystko latwo mozna w prosty sposob skorzystac, a adla wytrwalych mozna wiecej wycisnac.
Google.
Od XE7 dodano kontrole TBannerAd czyli reklamy z podpieciem do swojego konta poprzez API KEY aplikacji. I dziala to. Sprawdzalem ale nie uzywam. Jest TNotoficationCenter, sama nazwa mowi do czego sluzy czyli obsluga belki powiadomien itp. TnAppPurchase kontrolka do zakupow w aplikacji (nie wiem dokladnie bo nie korzystalem z niej). TMapView (od wersji XE8) natywna kontrolka map google poprzez API KEY swojego konta. To uzywalem i tak powinna dzialac na Desktop bez API i nie dziala z API tez nie, ale z API KEY na Android dziala (IOS nie potrzeba zadnych API). Pelna obsluga jak Google Maps dopasowana do potrzeb programisty (czasami skomplikowana). Wiec w swoja alikacje mozna od reki dolaczyc mapy bez korzystania Activity Androida GoogleMaps. http://community.embarcadero.com/index.php/blogs/entry/working-with-the-new-mapview-on-ios-and-android-with-rad-studio-xe8
Sieć.
Embarcadero ma wiele mechaniznow sieciowych wbudowanych i wiekszosc jest dostepnych dla Mobile, Najbardziej znane pakiet Indy wrecz zawiera wszystko co potrzebne od Ping, Pop, IMAP, Http, FTP itp itd. Wszystkie prawidlowo dzialaja na Mobile. Sam uzywam i chwale je.Mamy tez WebServices, natywna obsluge HTTP od Embarcadero (od XE8), REST Client , BAAS Client. Dodatkowo znacznie lepiej dziala BlueToutch od XE8 (w nizszych wersjach ciezko to szlo), WiFi. Choc na szybko jak pisalem apke do straowania przez BT to wolalem napisac w MIT AppInventor niz dlubac w Delphi.
Debugowanie.
Sa dwie wersje kompilacji Debug i Release. Debug dolacza do APK serwer dubugowania ktory laczy sie uruchomiona aplikacja z Delphi i mozna kontrolowac przebieg dzialania. Tu jednak wg mnie AS jest o niebo lepsze z pelna kontrola uzycia RAM czy CPU. Release to wyrzucenie smieci programistycznych i typowa APK koncowa np do GooglePlay.
API Android i java.
W XE6 bylo to straszne od nowej wersji jest znacznie lepiej choc w tej dziedzinie AS bije na glowe Delphi (wiadomo czemu 🙂 ). Jednak wiele mozna uzyskac z API Androida jak wysylanie/odbieranie SMS, obsluga telefonu, sprawdzaniu np nr phone IMEI itp itd
Delphi Mobile wykorzystuje FIREMONKEY http://www.fmxexpress.com/ mozna tu sprawdzic sobie w przykladach polaczenia z API Androida i IOS.
Inne.
Pisanie gier?? Raczej nie, moze jakies proste. Takie widzialem na grupie Google+ ludzie pokazuja swoje dziela. Brak fizyki, raczej trzeba by pisac samemu i lepiej do tego stosowac Corolabs https://coronalabs.com/ . Aplikacje bazo bazodanowe i sieciowe jak najbardziej. Napewno wycisnie sie wiecej z java w AS. Czasami w Delphi mniej sie kodu napisze a czasami wiecej do danej funkcji niz w AS. Minusem Delphi jest wielkosc aplikacji. Niestety sa to aplikacje natywne i kompilowany i dolaczany jest caly modul do aplikacji a nie tylko potrzebne rzeczy. Ale to wlasnie stary zly urok juz za czasow Pascala. Minusem czas kompilacji i debugowania, tu jak pisalem wczesnie AS jest o niebo lepsze. Mozna napisac na Desktop Windows (szybkosc pisania i debugowania) a potem skompilowac do Androida czy IOS z czasami malymi poprawkami. Minus cena !!! Drogie narzedzie w tys Euro, AS free. Na plus roznorodnosc kontrolek i w wiekszosci latwosc ich obslugi. BindVisual przy pisaniu bazodanowych aplikacji strasznie ulatwia pisanie, wrecz laczenie elementow bez pisania kodu. Sa kontrolki firm zewnetrznych ktore mozna dolaczyc, ale czesto drogie. Jednak jest wiele free ulatwiajacych zycie programiscie.
To chyba tak w skrocie o Embarcadero Delphi XE8 Mobile.
Inna alternatywa IDE dla Androida jest WINDEV Mobile. http://windev.com/windevmobile/index.html
Narzedzie chyba nieznane u nas jak malo znane w swiecie. Jakies dwa lat temu bawilem sie wersja Express okrojona i jest podobne do Delphi choc ma swoj jezyk WLanguage. Bardzo intuicyjny szybko mozna przejsc na niego. Szybko sie pisze, male aplikacje wychodza, ladne i tez wieloplatformowosc jest. Minus?? CENA !!! Drogie jak ######. Zabezpieczone kluczem sprzetowym HASP tak ze w sieci nie nowych wersji wiecie jakich.
Pozdrowienia