Released our first HaxeUI screen today (after big sprint) - Yay! but Issues w/ textfields on iOS Safari

Hi Ian,

Firstly - I’m really liking HaxeUI more and more. Thank you!

I’ve come from developing business type system with LAMP backends (with mix of SQL/server and mysql) and frontends primarily in Adobe Flash and Adobe Air (both desktop and iOS/Android).

The HaxeUI stuff looked great when I saw it few years ago, and earlier this year I moved properly to developing/moving to Haxe (and away from Flash).

I’ve been working on foundation stuff - learning Haxe, trial and error etc. After 6 months of mostly backend work on Haxe (Haxe services on node js talking to SQL/server and mysql across our cloud systems), I finally came around to needing to work on the UI - HaxeUI!
I was looking forward to doing so…

Since I needed to have mostly browser based screen (replacing our Flash based apps), I have aimed for HaxeUI and html5.

1 - First Question - textfield iOS Safari issue

My first screen is simple (but important for us), I’ve re-developed a payment gateway screen in HaxeUI. Testing on Chrome, FireFox, IE all worked well.
I used your example responsive example/demo as a guide and spent the week getting it working.

My current issue I came across tonight was on iOS Safari - The sign on area which has one username field and one password field won’t let me type the password/PIN.
I can’t even login to the app/page.
It shows one character and when I type the second character it overwrites the first character. I can’t copy/paste into the control. Long-press on the field does not show the iOS copy/paste popup.

I tried turning off the password property, removing the onchange handler.
Still no go.

The definition seems pretty vanilla:

Anyway - any ideas on this iOS/safari textfield keyboard issue? Possible workarounds?

If you want to see the issue, message me I’ll send you the link to the screen so you could see the issue yourself.

2 - Second Question - general production app questions
With my first production app out the door, now I’m coming across practical stuff:

  • JS Size: I noted that my simple screen has 4mb .js file. If I build more complex screen with
    multiple tabs, is there a way to share/reuse .js files to avoid having monolithic .js files. Is there any Haxe and even general js tips that can help?

  • JS Security: For the frontend I’m aware that all code can be inspected - I’ve tried somewhat to code with this in mind. Is there any general resources/areas on this you would recommend?

  • JS Load speed: Are there any good examples/techniques of a pre-loader screen that can help smooth/speed the loading experience? My first screen stays blank for several seconds and then suddenly displays. I’ve seen lots for js with all the different toolkit/approaches - but it’s hard for me to know what might be good for haxe. Can you point me at something?

Anyway, Thanks again - if you can shed any light on the iOS issue or tips it would be great.
Now I’ve got a working HaxeUI production screen and a week of heavy duty coding behind me I’m keen to do more asap.


PS: Update - I tested On MacOS Safari - seems Safari is issue. FF and Chroms OK on MacOS


So the textfield issue sounds like a strange one. Id certainly like to get that sorted. So, just to confirm, you are using haxeui v2… and haxeui-core and haxeui-html5 and safari browser? Ill check that out certainly. As you said, sounds pretty vanilla.

Size: 4mb sounds a little too big… this is haxeui-html5, right? A “plain” app for me is about 1.4mb - which arguably is still to large. Because of the module.xml in haxeui-core DCE is (basically) off, and i think there are other places where classes are brought in when they shouldnt be. Maybe now is the time to give all that the once over and get it a small as physically possible. I do like the idea of haxeui being able to download classes “on demand” but i have no idea how that would work, so will have to think / play a little. Still, 4mb seems too big.

Security: as you say, its all inspect-able so i dont have any particular “magic bullet” there, im not 100% convinced haxeui can / should help in that area, i mean, it could be out of scope for the framework and be more the responsibility of the app above it. That said, im certainly open to ideas

Load: this also seems off… haxeui does have a preloader, but its basic (in a module.xml) put a “preload=“all”” in the root “module” node - its a placeholder really at the moment, but certainly can be expanded on. Im more interested to work out why the app is taking seconds to load in the first place.

Im not sure if that answer some / any of your questions, but i would certainly like to get this textfield issue squared away as at sounds all types of wrong.


Hi Ian,
Thanks for quick response.
I tried to email back - but the email bounced.
So replying here.
I think so - I grabbed them from git (via svn interface - it’s what I’m used to.)
I’m using the trunk.

haxelib list haxeui-core
haxeui-core: 0.0.4 git [dev:C:\dev\haxe\haxeui-dev\haxeui-core.svn\trunk]

haxelib list haxeui-html5
haxeui-html5: 0.0.3 [dev:C:\dev\haxe\haxeui-dev\haxeui-html5.svn\trunk]

I did a svn update this morning to be safe - there 3 files updated.

  1. On Size issue:
    Yes I will investigate. Just getting up to speed on practical issues with something real working now. I was using some classes that were built over the last few months for all the backend services and command line apps. Size was not something I examined.
    I look at the size etc now and figure what classes/includes are not needed - the optimisation stage.

Ohh - I was just checking the js file - newbie mistake. I copied my whole assets images folder from our Flash products - and noted that its ALL in the .js file!
I’ve fixed it now - file is down to 2.1mb (I’ve turned on compression on our prod apache server for javascript).

Weird - I tested our app again this morning to see load speed improvment and somehow the text password field was working - I’m not sure if it was the reduction in the .js file or if it was the files I updated from svn.
Whatever - I was able to test on iOS pad successfully.

3 - On security.
It was more a general haxe js app questions I guess. I’ve not done any real front end js stuff - so short of stumbling around is there a recommend tools to help
that you suggest - like minify and obfuscate tools etc.

Also - should I look at/try another web backend for haxeui? I think I’ve seen some work you’ve done on the hxwidgets?


I would interested to try and sort out the issues you are facing, is there any chance you could minimally reproduce them somehow (as im guessing i cant see the actual app source). The load stuff would be a nice one to get sorted also :slight_smile: