site  contact  subhomenews

More thoughts on Appmethod

September 01, 2015 — BarryK
I have been posting recently about Appmethod:
http://bkhome.org/news/201508/firemonkey-links.html
http://bkhome.org/news/201508/convert-object-pascal-to-c.html
http://bkhome.org/news/201508/appmethod-looking-good.html
http://bkhome.org/news/201508/appmethod-app-development.html

I am continuing to be impressed with how powerful it is, but I have run into some issues:

No markup-text view
This really took me by surprise. All modern UI frameworks support rendering of some kind of text markup. Even Win32 back in the 90's supported Rich Text. GTK supports basic HTML tags.
So, I was most disappointed to discover that Firemonkey (the UI framework in Appmethod) does not support any kind of text markup.
There is a third-party product, I think only for iOS.

FireDAC UI framework
This is supposed to be a good thing. A database can be managed via components that are dropped onto a form (design window) just like the widget layout designer.
I have run into issues with it however, and right now I am going to do some research to find out how to manage my SQLite database at low-level code-only -- because I know what I want to do is actually quite simple and easy to do at the code level.

Note that I am criticizing FireDAC, but I am a beginner, fumbling around, and perhaps someone with more Appmethod experience will be more happy with using it.

Rendering on different platforms
This one is to be expected I suppose, to an extent anyway. I am designing a simple app, testing it on Windows 7 and on my phone.
I have learned that it is absolutely essential to test on the actual device, as there are surprises. Generally, the UI looks as expected in Windows, but then try it on the phone, and hey, some weird things happen!

Size
Of course, this is one of the biggest criticisms. The app I am developing has grown to a 10MB .apk, but 33MB installed. Obviously the files are compressed inside the .apk.
But once installed, in the Setup -> apps section in my phone, I can compare installed sizes, and my app is up there with the biggest.
But then, download size is the main thing of concern to potential buyers, and 10MB is similar to most others.

Now, a plus-point:

Version control
As I mentioned, Appmethod is very sophisticated. Even has version control built-in. I can see exactly what changes I made since any previous time/day, can roll back if desired.

One code-base
I should make this comment, as it is the nicest feature, the main reason one would use Appmethod, despite the bloat.
It is very nice to create just the one app and see it run on Windows and Android (and potentially iOS and Mac).
There are some deployment differences, and so far I have managed theses easily. One example, a #define test is required to set path for files that an app can read/write/create (very restricted in Android).

Comments

I have run into a show-stopper bug.

TMultiView is a neat component for designing the GUI layout with Firemonkey.

It has a "master panel", kind of like a menu, that can overlay the screen. There are three modes, Drawer, Popover and Panel -- the first works when you slide your finger in from the left of the screen.

Works fine in Windows, and initially worked in Android. However, when I placed a TWebBrowser embedded browser into my app, the master panel overlay still worked in Windows but not in Android.

I found a post just 10 hours ago, this seems to be fixed in Delphi:
Sometimes user can not slide TMultiView in drawer mode
http://www.fmxexpress.com/list-of-bug-fixes-for-firemonkey-in-delphi-10-seattle-on-android-ios-windows-and-osx/

Well, I have that bug in Popover mode also, so I hope they fixed that too.

I have Appmethod 1.16, so it looks like I have to wait for the next release.

Interesting, with the embedded browser, my .apk file is now 11MB, not much bigger than before.

That bug fix was only for iOS. Tech-support suggested a workaround for Android, but I still could not get the Drawer mode to work. However, I did get Popover mode to work, and decided that I prefer that anyway.

I also kept trying to use FireDAC, the database GUI tools, and have got it working OK now.

I had thought that would be too slow, but it starts instantly. Now I can render anything, even embedded images.

This time, I have posted to their forum:
http://community.embarcadero.com/forum/ui/1572-cannot-hide-virtual-keyboard

Note, that's a low-traffic forum. They have another here:
https://forums.embarcadero.com/index.jspa

http://bkhome.org/news/201509/appmethod-saga-coming-to-end.html

Tags: general