[DUG] XE7 and Android Development

Jeremy Coulter jscoulter at gmail.com
Fri Jan 23 08:16:28 NZDT 2015


I use Delphi for Android now. I am not developing MAJOR apps. but some that
are interesting.
Before Embarcadero provided android support, I used a tool called
Basic4Android. I can highly recommend it. Yes, as the name suggests, its a
basic language, but its a bit more VB.NET in style. It compiles down to a
java classes etc. and has a gui designer and I have to admit, the debugging
is a lot quicker than the Delphi one.
Take a look. I think there is a free trial, if not its only $49 for support.

Jeremy

On Thu, Jan 22, 2015 at 9:11 PM, Robo <robo555 at gmail.com> wrote:

> If it's a brand new app for Android only, just use Android Studio. It's
> now base on IntelliJ instead of Eclipse, you should revisit it.
>
> On Thu, Jan 22, 2015 at 7:33 AM, Eric A <eaa603 at hotmail.com> wrote:
>
>>  Many thanks to all contributors for the feedback.
>>
>> I just need to develop a Bluetooth App for Android devices only (with
>> some WiFi network transfer also).
>>
>> I did try Eclipse with ADT some years ago and was very disappointed with
>> the UI designer so gave up.  I understand that Android Studio has a
>> completely new UI designer so I will give that a try.
>>
>> --- Original Message ---
>>
>> From: "Jolyon Smith" <jsmith at deltics.co.nz>
>> Sent: January 22, 2015 7:17 PM
>> To: "NZ Borland Developers Group - Delphi List" <
>> delphi at listserver.123.net.nz>
>> Subject: Re: [DUG] XE7 and Android Development
>>
>>  @David Brennan - I don't see how you reach the conclusion that XE7 +
>> FireMonkey makes sense "if you have an existing code base", given that if
>> you aren't already developing in FMX then that existing codebase is almost
>> certainly VCL and given all the observations you made about how utterly
>> UN-re-usable your existing VCL code base was in your case.
>>
>> The pre-amble seems to point to the exact opposite conclusion.  No ?
>>
>> For Eric, I would ask why you are interested in using Delphi for this ?
>>
>> If it is to exploit existing VCL code, then you have little chance of
>> realising any benefit without an awful lot of work (perhaps even more than
>> starting from scratch with an alternative tool/tech).
>>
>> If you seek to leverage familiarity with Delphi to fully exploit any and
>> all Android devices, I suspect you will be similarly disappointed both
>> because the Android support is simply not complete as well as because
>> "Delphi for Android" is a quite different animal than the Delphi you are
>> used to.  You might as well learn Java or apply any knowledge you may have
>> of C# with Xamarin.
>>
>>
>>  Or, if you simply wish to continue using Pascal, you could look at
>> RemObjects Oxygene (also previously known as Delphi Prism, in it's .NET
>> garb as re-branded by Embarcadero for a time).
>>
>> I developed a very simple app in Oxygene for Android, iOS and WinPhone.
>> In all three cases the app was developed using Oxygene (ObjectPascal with
>> knobs on) but compiles to genuine, platform native binaries (i.e
>> indistinguishable from those produced by Android Studio, Xcode or Visual
>> Studio).
>>
>> The Android version is here if you are curious:
>>
>> https://play.google.com/store/apps/details?id=itchbox.txt2park&hl=en
>>
>>
>> The downside of the Oxygene approach (as some see it) is that you have to
>> learn how to develop for each platform since there is no comprehensive
>> cross platform abstraction library (although there is a library - Sugar -
>> which makes a certain amount of re-use possible at the RTL layer - sharing
>> common string manipulation routines etc etc).
>>
>> But imho this platform specific aspect of the approach is absolutely NOT
>> a downside for any serious mobile developer as you will quickly realise
>> when you come to appreciate the differences between the platforms and learn
>> how to write apps properly that look and behave properly on each platform,
>> instead of taking a "one size fits all" approach.
>>
>>  It also means that you are learning those platforms and if necessary
>> can apply that knowledge directly to development using the platform native
>> tool chains.
>>
>> i.e. With my simple app I have learned how to program a (simple, VERY
>> simple) SMS sender app for Android, iOS and Windows Phone.  I happened to
>> use Pascal, but what I learned about the platforms is just as directly
>> applicable in Java, Objective-C or C# (respectively).  It also means that
>> you can *learn* from people with expertise in the framework even if they
>> are using other languages.
>>
>> It is worth mentioning that all 3 versions of the app were developed in
>> just one weekend even though there was zero code re-use between them.  The
>> app is essentially 100% UI, and each platform works completely differently
>> when it comes to the SMS APi's so there was no real chance for useful code
>> re-use in such an app anyway.
>>
>> Actually, there were 6 apps in total since I also learned the advertising
>> API's and controls appropriate for each platform (again, different in each
>> case) and created two separate versions of the app for each platform, one
>> free/ad supported, the other paid for with no ads.
>>
>> Creating the 3 ad supported apps was another weekend.  :)
>>
>>
>> But Oxygene also is not hosted on Linux, being a Visual Studio plug-in
>> (it is also supported by the free VS Community Edition, so there's no extra
>> cost for using VS "Pro" any more).
>>
>> However RemObjects are also working on "Fire", an OS X hosted IDE (still
>> not Linux but at least also Unix based) for all their languages, since they
>> also provide their own C# compiler as well as 'Silver' - a.k.a Apple
>> Swift.  All three languages support all platforms:  Java/Android, iOS/OS X,
>> .NET/WPhone.
>>
>>
>>  Just my $2 (it was going to be 2c but thought I'd better protect it
>> against future inflation).  :)
>>
>>
>> On 22 January 2015 at 16:29, David Brennan <dugdavid at dbsolutions.co.nz>
>> wrote:
>>
>>  We created an Android app in XE6 using a moderate amount of code from
>> one of our big Delphi projects. It went OK and we successfully demonstrated
>> the app on phones at a trade show recently, people liked the app. During
>> development we had a few annoyances with how Firemonkey behaved but in
>> general it wasn’t too bad.
>>
>>
>>
>> However getting our existing code (even units with no forms/frames) to
>> work was a bigger issue than expected. We did it in a development branch
>> were we hacked things a moderate amount to get uses clauses and everything
>> to compile with ifdefs, commenting stuff out, etc. A surprising amount of
>> basic classes such as TPoint, TRect, etc (I think if I am remembering
>> correctly) are not available in Firemonkey so we had to do quite a bit of
>> hacking. As a result the ‘hacked’ development branch can’t be used to
>> compile VCL apps and will be thrown out (effectively it was a prototype).
>> The next step is for us to refactor our code properly to allow us to cross
>> compile between VCL and Firemonkey with a minimum of ifdefs. This will be a
>> reasonable sized project so it is waiting while other more valuable
>> projects are being worked on.
>>
>>
>>
>> Based on that fairly limited experience we believe Firemonkey to be
>> viable for serious apps and we think it makes good sense if you have an
>> existing code base which you want to cross compile between Windows and
>> Android/iOS. Whether Firemonkey is the best choice for someone who doesn’t
>> need to cross compile is a different matter, you get some benefits from
>> prior Delphi experience but the controls, designer and some RTL portions
>> are different so you still have a bit of a learning curve.
>>
>>
>>
>> Cheers,
>>
>> David.
>>
>>
>>
>>
>>
>> *From:* delphi-bounces at listserver.123.net.nz [mailto:
>> delphi-bounces at listserver.123.net.nz] *On Behalf Of *Eric A
>> *Sent:* Thursday, 22 January 2015 3:15 p.m.
>> *To:* delphi at listserver.123.net.nz
>> *Subject:* [DUG] XE7 and Android Development
>>
>>
>>
>> Has anyone in the DUG :
>>
>>
>>
>> a) done serious Android device development using XE?
>>
>>
>>
>> b) installed and used XE7, particularly for Android apps?
>>
>>
>>
>> If not XE, what are people using/recommending as the best development
>> platform for Android app development? (would be nice if it could be hosted
>> on Linux, but not essential).
>>
>>
>>
>> Eric
>>
>> _______________________________________________
>> NZ Borland Developers Group - Delphi mailing list
>> Post: delphi at listserver.123.net.nz
>> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to delphi-request at listserver.123.net.nz with
>> Subject: unsubscribe
>>
>>
>>
>> _______________________________________________
>> NZ Borland Developers Group - Delphi mailing list
>> Post: delphi at listserver.123.net.nz
>> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to delphi-request at listserver.123.net.nz with
>> Subject: unsubscribe
>>
>
>
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi at listserver.123.net.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to delphi-request at listserver.123.net.nz with
> Subject: unsubscribe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20150123/58d26eeb/attachment-0001.html 


More information about the Delphi mailing list