Main - Overview - Documentation - FAQ - Media

2. Extensible Design Structures

For many years standardization and uniformity have ruled the day concerning application interfaces.  Other than some level of appearance and limited functionality customization, programmers have had to learn to work within the confines of what they are given.  For example, if a ListView object does 90% of what they want but 10% differently, they will either have to learn to adapt or use something else.  They are also not given access to source code or other resources that might better help them understand what their tools are capable of or how to even use them. 

From the ground up Vision has been designed purely as an engine with no specific interface design elements (windows, buttons, menus, etc) built into it.  All of the interface objects and interface code can be customized by the programmer at runtime.  This means that programmers are not restricted to using any one set of interface designs and objects.  They can use any set that they have available to them and even use them in conjunction with each other.  A programmer or designer can even produce their own custom interface objects and choose to keep them for private use or make them available to others.  No longer are programmers restricted to designing application interfaces to fit within the tools but they can now tailor the interface specifically to the application.  Now they can take advantage of 90% of the ListView's functionality and override or add the remaining 10% that their specific application needs.

This kind of a system lends itself very greatly towards open source code repositories where maintainers publish a standard set of code and accept bug fixes/feature additions pending evaluation and testing.  Vision was built with this kind of open source "middleware" system in mind because one of the best ways to learn how to use a system and understand how it works is to be able to see its source code.  However, commercial middleware development can still exist and any portion of a middleware module can be either closed or open source.  Even though middleware modules can potentially be closed source they can still still be extended and customized by using Objective-C language features such as subclassing and message overriding.

Copyright © 2004-2011 Aoren LLC All rights reserved.
[email protected]