XDC2019 Open Conversation - Day 1

I’ll ask, but we know they won’t say.

Demoing Feedback in Web 2.0 now.

Text fields support password managers, btw.

And now it’s time for lunch.

The Panel for the Future of Technology and What It Means For Software Development.

Here we go…

XDC 2019 - Android: https://www.bkeeneybriefs.com/2019/05/xdc-2019-android-walkthrough/

XDC 2019 - Web Framework 2.0: https://www.bkeeneybriefs.com/2019/05/xdc-2019-web-framework-2-0/

awesome updates Kem! and great write up Bob!

Ask The Engineers panel…

Keynote Recap - https://blog.xojo.com/2019/05/01/xdc-2019-keynote-recap/

2019 Design Award Winners - https://blog.xojo.com/2019/05/01/2019-xojo-design-award-winners/

Thanks to Kem Tekinay for this thread.

It is extremely interesting.

Sorry, back from the ice cream bar (that’s right, there was an ice cream bar) a bit late for the start of @Carol J Keeney 's talk on Database Topics for programmers.

About to hear All About API 2.0 from Paul and Travis.

Paul is starting with a bit of a history lesson about where Xojo came from, started in 1998 as RealBasic, and only targeted MacOS 8. Today of course needs to target many more environments. Decided last year to introduce API 2.0, to take advantage of:

New Language Features
Improve Consistency
Better Naming
Exceptions, not Error Codes
Fewer Globals
More Enumerations
Similar API for UI Controls
Don’t Change What Works

Progress update:
Coming “soon”.
Many existing things will be deprecated, but will remain for a long time.
Deprecated items will stop being used in doc code, samples, and examples. Autocomplete will also stop working for them.

Benefits of API 2.0:

Code is more readable
Easier for new users to learn
More consistent for existing users
Easier when working across project types

Notable new features:

URLConnection - added in 2018R4, uses OS socket APIs, provides both synchronous as well as asynchronous communications.
Var and ResizeTo - Synonyms for Dim and Redim, respectively. (i.e., you will now be able to declare variables with Var instead of Dim)

Example:

[code]Var firstName as String

Var teams() as String
teams.ResizeTo(30)
[/code]

Notable Changes:

Databases will now use exception handling instead of return codes, etc.
There will be an alternate Connect() method, and a new ExecuteSQL, SelectSQL.

DatabaseField will now be called DatabaseColumn
DatabaseRecord -> DatabaseRow
RecordSet -> RowSet
BeginTransaction will be added as a method on the Database object.

FolderItem will now use Exceptions

Many Open methods will move to their respective classes, for example:
OpenAsMovie -> Movie.Open
OpenAsSount -> Sound.Open
… etc.

FolderItem.item -> FolderItem.child (which will be zero-based, not 1 based)

ListBox changes:
ListCount -> RowCount
ListIndex -> SelectedIndex
Cell -> CellValueAt
DeleteAllRows->RemoveAllRows
etc.

Many of these are just name changes, but some do have different implementations.

Thanks @Kimball Larsen for picking up the slack while I’ve turned my attention to the Yankees game (now trailing 2-0).