XDC2019 Open Conversation - Day 1

Paul and @Travis Hill are up now to do an Android walkthrough…

@Ed Lindoo 's presentation focused on how he was able to beef up his student retention rate at his university. Prior to using Xojo, they had a very high drop-out rate for his program. He designed and introduced a curriculum centered on teaching basic programming skills with Xojo and Java side-by-side. His student retention rate has jumped to near 100%, and his students go on to perform VERY well in the subsequent Java classes.

Android:

  • Compiled code running in emulate and devices in both 32- and 64-bit.
  • APK creation
  • 25 controls

And more.

Already implemented: Buttons, segmented controls, DateChooser, TextField/TextArea, slider, Label, Canvas, Oval, Rectangle, Separator, TabPanel, ProgressBar, ProgressWheel, HTMLViewer, ImageViewer, ScrollableArea, Table, VideoViewer, ImageChooser, Location, MessageBox, Timer.

(I’ve missed some here.)

Travis is now discussing the technical details that differentiates Android from the other platform, that is, the technical challenges they face. Frankly, I don’t understand much of this so I’m not going to attempt to recap it beyond this: it doesn’t look easy.

They have to support 32- and 64-bit and ARM and x86. Xojo will do this in the background for you.

When building, the intrinsic types are the same (Integer, Variant, etc.) and we’ll use the familiar layout editor similar (it sounds) to what’s available for iOS.

Of note: Android already follows API 2.0 rules like naming conventions and zero-based offsets.

To build, need Mac/Windows 64-bit (not Linux yet). We’ll need Android Studio for the emulator and debug tools. Apps use Android 9.0 (Pie) SDK while targeting 4.4+. SDK version can change but they’ll keep up with it.

What’s left?

  • Complete the framework
  • Debugger

No set timeframe for public beta release yet.

After the initial release, they plan:

  • Auto-layout (that’s coming to all platforms)
  • Plugins

V1 will be focussed on phones, but no artificial limit on that.

And now a demo…

Travis is creating an Android app on the fly in the IDE and it works exactly as you’d expect, with the caveat that this is a pre-alpha version.

Demo complete, nothing complicated, but showed that’s it’s working for simple apps as you’d expect. Now taking questions.

Clarification: the builds are for both 32-bit and 64-bit all the time.

Lots of good work on Android - I’m looking forward to playing with it as soon as it is available.

@Greg O’Lone is up now talking about Web Framework 2.0…

Goals:

  • HTTP/1/1 compliant server
  • Minified frameworks and client rendering (buttons, for example, will be rendered on the browser side)
  • JQuery
  • Bootstrap and (… and then the slide changed, sorry)

Aim is to support a wide variety of popular browsers by querying the browsers for what technologies they support. Controls will try to accommodate in the background where it can.

Browser history triggers so we can, for example, restore field content if the user hits back/forward buttons.

A server connection monitor will attempt to reconnect or warn the user so they can correct the issue. Goal is to avoid hard logouts on temporary problems.

There will be fixed and fluid layout modes.

A bunch of new controls like a rich text editor, and some existing controls will get new features like File Uploader and Listbox.

Styles getting a workover, such as drop-in theme replacement with the ability to preview them in the IDE.

Project transition: when you load the project into the new IDE, will ask if you want to convert and will do a lot of that work for you. This will work in one direction only.

CGI-based apps will be going away, standalone only.

my fingers itch… when ?