I couldn't find a suitable place to post this, so I defaulted to this category.
What would you say are the core components of a user interface? I like to simplify things.
I have been using Editorial to learn Python, but it also has offered me some experience in UI design, and that is what I am focused on now. I really think that a UI can be separated into a set of core modules.
A complete user interface has windows/frames, text fields, buttons, menus(sub-frames), switches, sliders, etc.
In side of Editorial there are a bunch of preset controls/widgets that you can add to a UI designer and then program them by associating buttons and switches with functions, or adding delegates to text fields. In the program, these are associated with classes. The list of core components to work with in Editorial are:
Custom View
A view based on the main View class
All of the following inherit from a View Class:
Label
- Holds text
Button
- Triggers functions
Slider
- Adjusts values (int,float)
Switch
- Sets boolean values
- Toggles functions
Segmented Control
- Toggles views?
Text Field
- Set or edit strings
Text View
- Set or edit long strings (sentences and paragraphs)
Web View
- Displays web content (URL)
Table View
- List dialog
Date Picker
- Yeah, that (mainly for mobile)
Scroll View
- Scrolls a view, or rather it is a scrollable view
Image View
- Loads images
Navigation View
- Navigate between views
Comment
- Just like a comment in code, accept it is like a sticky in the UI designer
- It never gets displayed
I suppose that a switch can be replaced with a checkbox in some cases.
The reason I am asking this is because I really would like to know if there is a program that allows you to program in whichever language you want, but test that code inside of an actual modular User Interface environment. Or for that matter, use it to actually create the program.
This, to me, would be the ideal way to create a full program with user interactivity. This is a way I am growing accustomed to working (Pythonista has it too).
I am sure there are libraries, but I am thinking of an actual Editor/IDE(maybe), that uses a modular (drag-and-drop) interface to set it all up. (Something simpler than the overgrown IDEs available.)
If I ever get to that level of proficiency, I would certainly work on it.
So, any other key components a UI should have? (It can be classes or actual widgets)