You might have seen a screenshot, or live demo of the new Uniface 10 IDE and you immediately wondered: How was it built, with what technology and what fancy new Uniface features were used? This is your chance to get a peek “under the hood” of the new Uniface 10 IDE.
Topics:
• Requirements – how did we get to the functional feature set
• Design principles – what design principles were used
• Technology – what technology is used for the implementation
• Architecture – a new Uniface UI concept: view containment
• Architecture – data views built with new HTML Forms
• Architecture – a single reusable text entry mechanism
5. Technology: Rebuild in Uniface
• Arguments pro:
• Dog food
new/improved features
Hi focus on usability
(short cycle between designer
and user)
• Available skill set
• Compatible repository
• No dependency on third party
environment
Arguments cons:
• No integrated environment
with other technologies
• No external communities
6. GUI Technology: HTML
Arguments pro:
• Rich and flexible
(HTML5 + CSS3)
• Presentation-logic split
• Unlimited possibilities
• Future proof
Arguments cons:
• Additional backlog
– New component type
– New widget set
• Unknowns (risk)
• Unlimited possibilities
take time
33. Data Views: HTML Form NEW in v10
• Mix of FRM and DSP component
• Window, caption, contained, secondary, …
• Paint canvas HTML canvas
• Native Windows widgets HTML widgets
• Paint Tableau HTML Editor
35. Data Views: HTML Form NEW in v10
• Presentation logic split (id-based binding style)
• Share JavaScript/HTML-runtime with DSPs
• Connected + stateful (implicit websave/webload)
• Shares HTML rendering engine with HTML Widget
36. HTML Controls
• HTML 5 controls set
• AttributesOnly (Field and Occurrence level)
• StaticText
• RawHTML
• Picture
• …
37. HTML Forms in IDE
• Custom set of static controls (build in HTML/4GL)
• Look like widgets
(Combobox, Tabstrip, Button, Editbox, Grid cell, Column heading)
• Show static text only + Mouse-clickable areas
• All repetition done with occurrences (no valreps)
38. Popup/Dropdowns
• Separate HTML Popup Forms
• Started on demand
• Reusable
• No proactive distribution of info
• Allows for any fancy layout
• Allow nested tabs, cascading
/popup/dropdowns, edit boxes, etc…
40. Text Entry Overlay
• Separate overlay form (popup)
• Started on demand
• Only one!
• No (pre) distribution info
Data type
Syntax definition
• Functional rich
41. Advanced Text Entry box
• Sort of super ProcBox (Scintilla, Notepad++)
• Syntax highlighting, code folding, line numbers, …
• Code completion dropdown
• Syntaxes: Proc, JavaScript, HTML, CSS, Properties, …
• Used for ALL text entry:
Single-line Prop Value entry
Multi-line Code Editbox
Search box, U-Bar
43. Summary
• Technology: Uniface
• GUI Technology: HTML Forms
• Architecture: MVC
• View Containment, FormContainer, Popup
• Data Views, HTML Forms
• Text Entry, Scintilla, Code Box