[DUG] XE7 and Android Development

Robo robo555 at gmail.com
Thu Jan 22 21:11:43 NZDT 2015


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20150122/617c07c4/attachment.html 


More information about the Delphi mailing list