Thursday, September 5, 2013

Delphi XE5 Launch immanent! World tour on now!

I attended the Delphi XE5 Launch event in Toronto yesterday.   The big news as everybody knows already is that the cross-platform framework Firemonkey (which is going to be marketed as FM now, it seems) has now got support for the Android NDK (native).  That means true native ARM binaries on all 20,000 unique hardware devices so far released for Android, that run one of the three recent and popular versions of Android that this particular NDK tool set can target.  That includes the latest "Jelly-Bean" android, and two popular prior versions, enough I think, to cover most people's needs.

I have not yet used the XE5 product, but as my employer is on SA, I am going to grab it as soon as it's released and will be posting my attempts to build a single source iOS and Android app of some sort.

Exciting times.

Yesterday's launch event had the largest turnout for a Delphi launch that i have yet seen.   I wonder if part of it was the wonderful choice of launch location (Ruth's Chris Steak House), and the innovative lunch-and-learn concept.   Probably there were some people who would have been able to make an evening launch that could not take time off in mid work-day, but that didn't seem to hurt turnout, which was 5x to 10x more people than were at the XE4 launch.  The XE4 launch apparently, did not have proper publicity and emails, and it was good to see that the XE5 launch in Toronto was handled much better.

The presentation focused on the new mobile features, which is to be expected, since they're pretty cool. I'm sure that some of the Delphi faithful in Toronto also want Embarcadero to spend time polishing the core Windows and VCL areas of the system,  but I don't think any long-term Delphi fans (myself included) are sad to see Delphi acquire new cross-platform capabilities that are, I believe, beyond anything anybody else anywhere has right now.  Delphi is out front.  Good news for Embarcadero and good news for all of us Delphi users.  Our secret weapon now has a new set of cool features.   Embarcadero is also committed, it would seem, to sharing with the world, via well-done marketing, that Delphi XE5 has a few new tricks up its sleeves in the productivity Force Multiplier territory that really has been Delphi's key strength even in its single-platform Windows-only days.



31 comments:

  1. The issue is nobody outside Delphi developers cares about the xplatfrom capabilities of Delphi.

    ReplyDelete
    Replies
    1. I was at the event in Boulder and there were Visual Studio, Java (Android), and other developers who had never used Delphi. There were very interested and excited about Delphi for Cross-Platform development. About 25% of those in attendance were new to Delphi.

      Delete
    2. many undergraduate course exchanged Delphi for java or C# in the last 10 years in Brazil; so... new developers do not know delphi

      Delete
    3. @kmorwath: It isn't Delphi specific, but I understand there are at least some C++ people (mostly Visual Studio) who are interested in Rad Studio's cross platform support once the C++ Builder support gains parity with Delphi. So there is at least some interest outside of Delphi developers.

      As for marketing effort, Embarcadero had a three part webinar at the end of August that specifically targeted C# developers who were interested in mobile. So they aren't limiting their marketing to existing customers.

      We'll see how effective it is.

      Delete
  2. Do you really believe in what you write?
    Do you believe that by giving at least 1500$ for a system development tool that make possible to produce code for a limited number of Only ARM devices (not Mips, and not new Intel x86 atom chips)and weighing a minimum of 10 MB, eating memory and burning gpu - it might interest someone and encourage the development?
    If everything is in much better form can be obtained free of charge and without problems!

    ReplyDelete
    Replies
    1. "If everything is in much better form can be obtained free of charge and without problems!"

      The Google-approved way of developing Android apps is hardly 'without problems' - at present the supported IDE is still Eclipse, which is fully featured, but a big fat lumbering Java application; the official Android UI designer in my view is pretty horrible; and the UI framework quite clunky to use. In other words... just because the FMX solution may prove not to be great doesn't mean the 'official' alternative is therefore great instead.

      Delete
    2. Chris, the new IDE is based on IntelliJ, not Eclipse.


      Delete
    3. Why do people read articles they have no interest in just to criticize? This reminds me of Android folks trolling Apple articles. If you don't want to use the tool, just move on, nothing to see here. Meanwhile, we dedicated Delphi folk are very interested and can do without the complaining and the whining.

      Delete
    4. @alcalde - I know, however that's still an 'early access preview' - the officially recommended IDE remains Eclipse as I type this (http://developer.android.com/sdk/index.html).

      Delete
  3. Yes, I do, because I have written an XCode app using Objective-C, and I've downloaded and installed all the Android tools, and expecting one person, or a small team, to learn each platform separately is putting a boundary up that really is crazy. I don't believe that any cross platform effort could EVER be perfect, but it only has to be BETTER than the status quo, and the status quo sucks.

    Free and without problems? Sergionn, what are you smoking, and can I have some?

    ReplyDelete
    Replies
    1. Warren,
      1) Did you send any money to someone after installing for example new Android studio or ADT Bundle and deploy any android apps?
      2) In any developing system we have a number of problems - nobody argues it, but why a should to add any new, comes from curves hands of fmx developers?
      3) Did you see Even ANY A LITTLE REALY usable app done with Delphi for IOS?
      Only wild pieces of c***, absolutly unsable in real life!
      Think with Android apps will be better story? ha-ha..........

      I wanted to belive in fmx for 3 releases, and looks like the 4th very dissapoint me finally :(

      Delete
    2. "Did you send any money to someone after installing for example new Android studio or ADT Bundle and deploy any android apps?"

      Not particularly relevant - you're paying for the cross platfom capabilities + ability to reuse existing Delphi code. Seen Xamarin's pricing recently...?

      Generally, I think it's better to criticise FMX on its own terms than posit impossible criteria like 'being as cheap as free'.

      Delete
    3. You have to learn each platform anyway if you want to write good apps - and access features nor the RTL nor FM make available. Developers today had leared already many platforms: do you mean that writing Windows code, Linux code, SQL code, Javascript code, and some scripting language code is not already learning several platforms? Is mobile different? No. The "write once, run anywhere" was a failure for Java - which had far fatter resources than Delphi. People - maybe not old Delphi developers, but most - are not afraid of learning coding on different platforms and using different tools - they do it already.

      Delete
    4. "I don't believe that any cross platform effort could EVER be perfect, but it only has to be BETTER than the status quo, and the status quo sucks"

      Amen brother. From being a sceptic about the new direction Delphi is going in I'm slowly becoming a convert. Writing Line of Business iOS apps is suddenly looking quite easy. I'm working on two, and have my first provisional (enterpise level) sale for the first based on the early demos I've done. The proceeds of the sale would pay for my Delphi enterprise licenses for the next 5 years.

      Are the apps a bit on the large size? Yes. Does that matter for your typical enterprise user? Not in the slightest. Could the typical enterprise user tell the difference between "really native" and "Firemonkey Native"? Not a chance.

      Will the above silence the gloomy nay-sayers? I fear we know that too.

      Delete
    5. > and expecting one person, or a small team, to learn each platform separately is
      >putting a boundary up that really is crazy.

      Why is it that it's only Delphi developers who think learning other languages/frameworks is so crazy?

      Take a look at this survey here; this is the state of development today. Only 2% of developers are using one language for at least 50% of their work!

      http://www.drdobbs.com/mobile/the-quiet-revolution-in-programming/240152206

      There's nothing wrong with tools that are very portable and there should be open support of multiple tools on every platform (iOS being the worst at this with WinRT right behind). But I don't see it's crazy to use different tools for different platforms either.
      Free and without problems? Sergionn, what are you smoking, and can I have some?

      Delete
    6. "I don't believe that any cross platform effort could EVER be perfect, but it only has to be BETTER than the status quo, and the status quo sucks."

      By your own admission you haven't yet used XE5 so you are in no position to say whether it is better than the "status quo" or not.

      Here's a bit of homework for you... with your "true native" XE5 Android support, why not show us how to implement an Android Intent Filter using Delphi ? If you even manage that without having to lean on some additional support in the FM framework itself - i.e. not "true native Android" at all - now show us how this code compiles and runs on iOS from your "write once" code base.

      Embarcadero are peddling myths and dreams, not technology, and it is saddening that some supposedly technical commentators choose to blindly and uncritically accept the fantasies peddled to them by Embarcadero.

      Delete
    7. @Jolyon: I know it's (apparently) never too early to declare the latest version of Delphi a failure, but are you sure you don't want to wait until it's actually been released and reviewed by developers? It shouldn't be long, now.

      And instead of demanding that he show you how to implement some specific technical feature using a compiler that he hasn't used yet, you could ask his opinion of XE4's iOS support compared to using XCode since he has worked with both of these.

      Delete
    8. "Only 2% of developers are using one language for at least 50% of their work!"

      @alcalde: That's NOT what the stats show. Just taking a single point on the graph shows that 3-4% of programmers spend >90% of their time in C++ alone.

      Delete
    9. Indeed. One could argue that the amount of time spent in various languages is a more 'truthful' metric than how many languages they proclaim to know.

      Me, as a Delphi developer, only know Delphi/Pascal in the desktop space. Is it the only language I know? No - I know PHP, LUA, HTML, and can write some mean SQL. I'm also looking to pick up JS and Jquery in the future. Am I part of this supposed 2%?

      I lean on PHP whenever there's a need for an intermediate later in a web application - whether it's simply version checking (JSON parsed DB output), or something more elaborate like filling fields with system information (where interbase and such aren't an option for whatever reason).

      I lean on LUA whenever I'm dealing with building scripts for others products or need to create a system that I can dynamically update without an executable patch.

      I lean on HTML only for web design, but there's a possibility I might lean on it for stylizing the interface if we ever get a default browser component in FMX (as opposed to the third party TChromium).

      The problem with stats in communities such as ours is that you can NEVER be sure of the accuracy. For example, I've never filled out anything that tells anyone how much I use each language I know. Even though I consider myself part of the community (instead of someone who only codes on their own accord and never participates), I don't take part in developer surveys. I'd much rather ask and answer questions on StackOverflow and leave it there.

      As for the subject at hand (Android on Delphi), I'm reserving judgement. Apple's requirements (i.e. a mac, and a yearly developer license renewal) to publish to their platform meant that I wasn't in a position to develop to iOS. Since Android's requirements are much more friendly to my Windows-centric development lifestyle (with lower developer costs too), I'm going to give Embarcadero the benefit of the doubt again. I still have faith in Firemonkey for my own reasons (and that hasn't really included cross-platform all that much) and believe that the next step in the chain will be what pushes me to mobile even if just for applications I only use myself.

      Delete
  4. You all must understand that Delphi's focus has always been ENTERPRISE applications, not customer applications. Mobile enterprise apps can be used to automate sales teams, take orders in restaurants, take inventory counts or to show enterprise numbers in a dashboard for example. These apps are not "Store" apps and will never be. For this kind of applications the cross-platform (FMX) solution can be a good option. You also must consider that TMS (an some others now) have enabled native controls inside FMX apps, so it's up to you to use it or not.

    ReplyDelete
    Replies
    1. Are you considering a POS app an "enterptise app"?

      Delete
    2. @E.M - Why is a POS NOT an "enterprise" app if it's part of a system being used to run the enterprise? Last I checked, any app or apps that is/are responsible for one or more processes that run a business and cross multiple systems are enterprise apps.

      Why are you belittling gustavo's assertion that Delphi's focus is for "enterprise" development? Is it because he chooses to use it in his efforts that he (or his shop) consider "enteprise" level?

      Delete
  5. Hey Jolyon, why don't you declare your loyalties and biases up front before you call other people out?

    You have personally decided you will use Oxygene, and you will rewrite your GUI code by hand, manually, for each platform you target. Since you've decided to drink your own grape koolaid, you're calling me out for drinking my cherry koolaid.

    Fine and good to call me out on my bias, but where is your own awareness of your own bias and preferences? It would be far more honest of you to admit that there isn't anybody out there right now, as I have said openly, who even CLAIMS to do what Embarcadero is claiming. If those claims (for an as yet unreleased product) are unjustified, how about you wait until it ships before you start ranting? Or does your limitless negativity also grant you a crystal ball insight into the future?

    ReplyDelete
    Replies
    1. It seems my "biases" (bias: a preference different to one's own [apparently]) are well known.

      I am well aware that I prefer Oxygene and the genuinely native approach, a choice based on a proper appreciation of what mobile development entails, as distinct from "getting some code to run on a mobile device".

      If you are protesting the lack of honesty then you really should be directing such criticisms as Embarcadero. My question w.r.t Intent Filters had a specific point ... it beggars belief that anyone can use use the words "true native" with a straight face in relation to FireMonkey on Android when there are key parts of the platform that are beyond the reach of the technology, without specific, additional infrastructure support from the framework vendor.

      What you call "negativity" only seems to be such because reality always looks a little less bright when not viewed through rose tinted spectacles. ;)

      Delete
    2. @Jolyon - hey, I still remember what you said about FMX when it was first released. RemObjects should be afraid, very afraid ;-)

      Delete
  6. @Jolyon:

    http://developer.android.com/guide/components/intents-filters.html

    According to the Android Java SDK, Intents and intent filters are a core part of your application, if you are using the Android SDK. Since Delphi targets the NDK, I believe Delphi Applications will not typically be able to operate using the intents and intent filters system. But you could ask Embarcadero and see if they're going to demo that in their demos, anyways. Where it is essential to do so, Java bridging has been added, so for example, the share-sheet feature of each mobile OS has been bridged to its native APIs, in java (on android) and objective-C (on iOS).

    ReplyDelete
    Replies
    1. It will be interesting to see if they can/will do this. I suspect that such control is at a finer granularity level which Delphi likely will not support. Does this make it a bad product or ineffective? No. Most of us know how to switch to a tool that meets ourimmediate needs and to rely on others for productivity purposes. Versatility is key...and if it gets the job done, makes my clients happy and pays my bills....that meets my purposes

      As for Jolyon contacting Borland...unlikely, I would say.

      Delete
    2. As I understand it an app responds to an Intent with a filter that identifies an Activity entry point. Again, as I understand things, you cannot create an Activity entry point using the NDK (see my point below w.r.t NativeActivity) this means that "so called native" Android applications written in Delphi cannot fully participate in the Android system.

      Whether this matters to you or anyone in particular is up to them. But to deny that these limitations exist and to imply and infer capabilities in the technology that do *not* exist is not helpful (unless the intent is to "help" Delphi sales managers hit their targets by peddling empty promises)


      I'm not sure why you brought up the Java bridge. The way it has been explained so far, the Java bridge allows your NDK code to call into the Java SDK but it provides no mechanism to create Java classes or objects. Otherwise the answer to the question "Can I implement an Intent Filter" would be a simple "Yes".

      Since no-one has yet been able to provide that answer we can only presume that the answer is in fact "No", which would be rather embarrassing amid all the trumpeting and fanfare of "true native" capability. So the silence is understandable.

      So, if you cannot implement your own Activity to respond to an Intent Filter a Delphi Android developer must rely on the compiler or framework to create the necessary scaffolding. Whether it is possible for Embarcadero to create a generic Activity or similar, off of which they might hang a contrived entry point into a FireMonkey app is the key question. Then, after the question of capability comes the question of intent.

      "Well, they did it already to allow a TRUE NATIVE app to be launched by Java in the first place!"

      As far as I know, they rely simply on the NativeActivity class that was introduced in the SDK itself with Gingerbread (hence this being the oldest version of Android supported by FireMonkey). So there is a bit of a question mark over their track record of building such infrastructure.


      If only you and Embarcadero would drop the use of the term "true native" and simply talk about "unmanaged code" and fronted up on the limitations that the approach entails, there would be no issue. But as long as the position is misrepresented - especially by people who should and do know better - they should expect to be challenged on such matters by anyone doing native(*) development for mobile platforms.


      * - Notice that there is no need to qualify "native" when you are actually doing it. ;)

      Delete
  7. heap laptops on sale come in a variety of sizes, weights, and colors. Just because you are looking for a bargain, doesn't mean you can't find reliable brand names for a laptop.
    cheap mobile apps

    ReplyDelete
  8. >... but I don't think any long-term Delphi fans (myself included) are sad to see Delphi acquire new cross-
    >platform capabilities that are, I believe, beyond anything anybody else anywhere has right now.

    Delphi has not been beyond anything for many years now. Let's start with one word, two letters: Qt. And per comments both David I and Marco have made, they have absolutely no idea what their biggest competitor is doing, which doesn't speak well for Embarcadero. (Marco, for instance, forgot about Qt when proclaim Delphi's "firsts" and when reminded of Qt asked if they were using the NDK. How the #*$)@ does the product manager not know what a competitor with 10 times the developers is doing when their code is OPEN SOURCE and their development is done in the open?)

    > Delphi is out front.

    Hope springs eternal I guess.
    >Our secret weapon now has a new set of cool features.

    You've never explained how Delphi is a secret weapon and I can't get anyone at Embarcadero to do this either. There marketing doesn't even try (no mention of or comparison to other products at all on its website).

    >Embarcadero is also committed, it would seem, to sharing with the world, via well-done marketing

    Well done marketing? We have Marco's pizza app and a camera app or something. Qt put out demos MONTHS before product appeared demonstrating 3D album coverflow apps, appearances at trade shows with the same apps running on WIndows, OS X, Linux, iPad, iPhone and Android tablets and phones, etc. Embarcadero has not been at most of the major trade shows - but they have done a "world tour" of library basements and Elk Lodge halls. Most people still don't know what the heck Delphi even "is". That's not superb marketing.

    > that Delphi XE5 has a few new tricks up its sleeves in the productivity Force Multiplier territory that really
    >has been Delphi's key strength even in its single-platform Windows-only days.

    You're smart enough to know it lost its RAD pretensions many years ago; you've said you've developed in Python. Dynamic "scripting" languages are force multipliers today; Delphi has more in common with C with the manual memory management, static typing, no type inference, pointers, etc.

    ReplyDelete
  9. Have you used QT? I have used QT and it's far from the miracle that people used to pretend it was. Nokia abandoned it. Digia is still selling it, and it's probably not a bad way to build a desktop app. It's definitely not a good solution for mobile development. Meego died, or didn't you hear?

    Warren

    ReplyDelete