[Info-vax] User Interface Design, Implementation
Arne Vajhøj
arne at vajhoej.dk
Thu Jun 6 10:11:28 EDT 2019
On 6/5/2019 11:23 PM, Stephen Hoffman wrote:
> On 2019-06-04 22:59:04 +0000, Arne Vajhj said:
>
>> On 6/4/2019 11:11 AM, Stephen Hoffman wrote:
>>> In more recent times, this UI design and implementation discussion
>>> can be a subtopic of a larger app architectural discussion, such as
>>> model-view-controller app designs, or analogous schemes.
>>>
>>> https://en.wikipedia.org/wiki/Model–view–controller
>>>
>>> OpenVMS doesn't have a concept of MVC, though that's an approach that
>>> can certainly be used within OpenVMS apps. And MVC has its issues.
>>
>> Does VMS have less MVC than any other OS?
>
> Feel free to review what's been included in the previously-cited
> documentation materials around this topic. You won't find much.
>
> It's fairly rare to see existing OpenVMS apps written in BASIC, C, C++,
> or Fortran using MVC and/or using some other analogous design, though
> some can and do.
MVC is a pattern used by some GUI frameworks.
Non-GUI applications does not use MVC.
GUI applications using a non-MVC framework does not use MVC.
Only GUI applications using a MVC framework use MVC.
But I have never seen a framework that was MVC on some platform and
non-MVC on other platforms.
The choice of platform determine MVC vs non-MVC totally
independent of platform.
I do not see VMS as being less or more MVC than any other OS.
There are more MVC frameworks available for popular OS than for VMS,
but there are in general more software available for the popular
OS.
There are also a time effect - a lot of VMS applications pre-date
MVC. But I will not consider that an indication that VMS does
not have MVC.
>> There are probably way less GUI frameworks available on VMS than the
>> more popular platforms.
>
> I'm using some of the approaches from MVC for server app work, not just
> GUI-related work.
>
> The "view" here is the network connection with the clients, as an
> alternative to an OpenVMS-traditional character-cell interface and ANSI
> control sequences or ilk.
>
> There certainly might be some php, Java, Tomcat, Lua, or Python
> frameworks used on OpenVMS—or maybe eventually server-side Swift or Rust
> or other locally-appropriate languages—but those are probably all best
> initially connected to the server and the view using networking absent
> some specific performance requirements, as that allows the clients to
> also be remote via SSL. If there is a requirement for a faster local
> connection, that's fodder for view-related work in the app code of the
> server.
Hmmm.
I think your MVC picture is a bit different from a typical MVC
usage.
Web MVC (Struts 1 and all the derivatives in Java, .NET, PHP, Ruby etc.)
is a web application with:
* View in ML send to and displayed by browser
* Controller in code with one or several controllers each having
one or more actions (old Struts 1 used a single controller class
and a class per action, most modern frameworks use a controller
class per major group of functionality and a method per action)
handling HTTP requests
* Model as the business logic code or a facade for that
Desktop MVC is obviously slightly different in nature, but
most modern frameworks follow a very similar model:
* View in ML managing display
* Controller code handling user input
* Model with data model / face to BL / BL
Arne
More information about the Info-vax
mailing list