Which tools should I use for UI Design?

ui

(Wilfred Smith) #1

I’m an extreme noob to Elements…literally just purchased a license minutes ago.

When writing applications with Elements, what’s the best practice for implementing UI?

Is it necessary to do the UI on the “native” tools for the platform and glue that to Elements-generated code?

Are there any examples of how to to put the pieces together, or do I need to write some Gtk, macOS, iOS and Windows driver code on my own and treat the Elements code as a library?

How difficult is to call OS functions on each of the platforms, or to link Elements-generated code into OS native stuff?

I presume I’m not the first to ask all these questions…please point me in the right direction, and forgive my noob-ness. I promise to use the knowledge you share for good, and never for evil!


#2

Hey Wilfred, documentation should help you with this. There are Tutorials on how to start building your first application including GUI generation for the platform of your choice. I am also new and I found the documentation to be very helpful, especially the search function.

For example :

Using Fire IDE :

Using Visual Studio IDE :

You may find more information in the docs sub-section of your preferred language/platform.


(Bob Russell) #3

Hi Wilfred. Your post was well timed! I was just about to post something myself. I am a Elements person as of the beginning of this year. Although an experienced Delphi person, I had no experience of C# and certainly none of the WPF UI/XAML approach. It has been/is hard work. I have found the support team to be excellent in both their encouragement and speed of response. Plus these forums are good as well. Trying to convert a many year Delphi expertise to the new environment has been really hard - perhaps my advanced age is a factor (I am “over” 70)

So my advice would be:

  • Read as much as possible. I bought 2 books - WPF 4.5 by Adam Nathan and C# 6.0 and .Net 4.6 Framework by Andrew Troelsen. Both were tough but invaluable

  • Keep looking on the web for examples, and play with the examples in the Elements documentation.

For me, one of the biggest problems is that I know the Elements Pascal syntax pretty well from my Delphi days, but the vast majority of examples on the web are shown as raw C# (or VB). Whilst I have found Oxidiser useful in “translating” the C# code, it’s the underlying set up of objects/classes/interfaces that I often can’t figure. But, I suppose that’s the fun and challenge of it all!

So good luck, and keep going!

Regards Bob Russell


(Wilfred Smith) #4

Thanks for the quick response, Peter! Unfortunately, I’ve already gone through those…nice for getting a “Hello World” level program underway, but I have some big projects on my plate.

I haven’t seen anything that addresses serious UI integration, or even what to do with projects that need to heavily use other libraries and resources.

It looks like the native tools are the only way to generate UI and nobody has done anything in terms of enabling programmatic UI.

Many thanks, again, for the quick and helpful response!


(Wilfred Smith) #5

Bob,

Many thanks for responding. I have a pretty good handle on Delphi->Oxygene, C++/C# and Swift… I’ve been writing apps raw with the native tools. I was in the process of doing some heavy Gtk work when I began looking for a better way.

I’m kind of shocked that there’s nothing about RemObjects’ products on Lynda.com, and the YouTube resources are 5+ years old. Amazon shows zero books, as does the iBooks store.

If you know of any Elements-specific texts or resources, please share. I bought and was very disappointed by RubyMotion and its community. RemObjects seems to be a much better established player, arguably with more promising (and more mature) technology.

I’ve had pretty decent success with writing command line utilities in Oxygene and/or Swift, and rapidly iterating through the major OS. Looks like doing large apps and/or intense GUI apps will be an undocumented area for me to explore. The WebAssembly stuff also seems very promising.

Bob, I’m no young “whipper-snapper” either, but it sounds like we both are fearless when it comes to learning new stuff…gotta bring our experience to bear. I intend to have a laptop and 2 40" 4K monitors installed in my coffin to keep me company, and if you visit the graveyard at night, you may hear a “Das Keyboard” clicking away…


(marc hoffman) #6

also: https://blogs.remobjects.com/2017/08/16/strategies-for-cross-platform-code-sharing-with-elements/


(Wilfred Smith) #7

Well, that’s useful…Thanks, Marc!


(JohnMoshakis) #8

I’m doing iOS development with Fire and I use InterfaceBuilder in xCode for the UI. I also make extensive use of third party components.

My personal favorite is this https://realm.io/ to replace sqlLite.

Inemy xperience the majority of code for ios comes in the form of a “framework”

https://docs.elementscompiler.com/Platforms/Cocoa/Frameworks/#q=framework

You can import them directly in Fire or as I do use HeaderImport from the commandline.

I find the apple developer website a great resource.

I think its good to be able to read multiple languages. Like Swift or Objective C, I still come back to Oxygene because that’s what I enjoy using the most.


(Bob Russell) #9

Hi

I’m also interested in programmatically controlled UI layouts as well. My previous applications (Windows Client/Server) have allowed the user the option of fine tuning the UI styles/colours, particularly on data grids and other user controls. Things like dialogs, datetime lookups have always been a challenge. Fine tuning localisation aspects (currency, language etc) have also been the subject of much thought!.
I’m currently trialling DevExpress suite for WPF, and programmatical control of WPF XAML and although the complete learning curve seems pretty steep, it looks promising.

(re Das Keyboard, I’ll keep my ears open!)

Bob