stargeek
PHP news website logo.
home    PHP scripts    articles    seo tools    links    search    contact    shop    realtors


HiGUI components







HiGUI components

HiGUI components 05/04/2004 06:18 PM

The project begins !




This is a GrokNews Entry: (what is grok?)





Similar Items

HiGUI components

Grok Headline matches for HiGUI components

MSI FAQ: Components


MSI FAQ: Components 09/13/2004 01:37 AM

MOM FAQ: MOM Components


MOM FAQ: MOM Components 02/18/2004 06:49 PM

Components for Zeroconf


Components for Zeroconf 05/31/2004 03:52 AM
Home Page added

Using Components with ActionScript 2.0


Using Components with ActionScript 2.0 06/18/2004 04:11 PM
Find out how to use listeners to handle component events in this Colin Moock chapter.

Components Upstand


Components Upstand 09/21/2004 12:43 AM
Project pre-start online conference held on Sept.20.2004

C++ Portable Components


C++ Portable Components 04/09/2005 03:08 PM
poco 0.91.4 released

IIS Web Application Components


IIS Web Application Components 03/31/2005 11:44 PM
MyAccess online database editor version 0.1 released

from components to modules


from components to modules 01/11/2004 07:52 AM

Right now I'm refactoring/rebuilding the user interface of a new release coming out soon (oh right... Note to self: talk about that) and I'm facing the fight against "sticky" APIs. Or, in more technical terms, their coupling.

Ideally, a certain component set that is self-contained (say, and HTML component) will be isolated from other components at the same level. This makes it both simpler, easier to maintain and, contrary to what one might think, often faster. While I was at Drexel, at the Software Engineering Research Group, I did work on source code analysis, studying things like automatic clustering (paper) of software systems, that is, creating software that was able to infer the modules present on a source code base using API cross-references as a basis. Since then I've always been aware (more than I was before that, that is) of the subtle pull created by API references.

The holy grail in this sense is, for me, to create applications that are built of fully interchangeable pieces, that connect dynamically at runtime, thus avoiding compile-time dependencies. In theory, we have many ways of achieving this decoupling between components or component sets; in practice there are some barriers that make it hard to get it right the first time. Or the second. Or...

First, the most common ways of achieving component decoupling are:

  1. Through data: usually this means a configuration file, but it could be a database or whatever else is editable post-compilation. This is one of the reasons why XML is so important, btw.
  2. Through dynamic binding: that is, references "by name" of classes or methods. This is useful mostly with OO languages, as you'll generally end up dynamically allocating a superclass and then using an interface (or superclass) to access the underlying object without losing generality (and thus without increasing coupling).

Achieving decoupling in non-UI components is not too difficult (the data model has to flexible enough though, see below). But UIs are almost by definition something that pulls together all the components of a program so they can be used or managed. The UI references (almost) everything else by necessity, directly or indirectly, and visual components affect each other (say, a list on the left that changes what you see on the right).

In my experience, MVC is an absolute necessity to achieve at least a minimal level of decoupling. Going further is possible by using a combination of data (ie., config files) to connect dynamically loaded visual components removes the coupling created at the UI level, but that is difficult to achieve, because it complicates the initial development process (with dynamically loaded components bugs become more difficult to track, the build process is more complex, etc.) and development tools in general deal with code-units (e.g., classes, or source files) rather than with modules. They go from fine-grained view of a system (say, a class or even a method) to a project, with little in between. We are left with separating files in directories to make a project manageable, which is kind of crazy when you think how far we've come in other areas, particularly in recent years.

The process then becomes iterative, one of achieving higher degrees of decoupling on each release. One thing I've found: that the underlying data model of the application has to be flexible enough, be completely isolated (as a module) and relatively abstract, not just to evolve itself but also to allow the developer to change everything that's "on top" of it and improve the structure of the application without affecting users, etc.

Yes, this is relatively "common knowledge", but I'm a bit frustrated at the moment because I know how things "should be" structured in the code I'm working on but I also know that time is limited, so I make some improvements and move on, leaving the rest for the next release.

Final thought: Until major development tools fully incorporate the concept of modules into their operation (and I mean going beyond the lame use of, for example, things like Java packages in today's Java tools), until they treat a piece of user interface as more than a source file (so far, all of the UI designers I've seen maintain a pretty strict correspondence between a UI design "form" and a single file/class/whatever that references everything else), it will be difficult to get things right on the first try.


NetAr .NET Web Components


NetAr .NET Web Components 02/16/2004 07:32 AM
NetAr Components RC4 + IgoControls 0.2 (Beta)

QuickTime Components


QuickTime Components 05/11/2004 10:42 AM
1.0d8 released

Web Components for Mathematics


Web Components for Mathematics 04/18/2005 04:13 AM
webcompmath.jar in action

VOIP Components for Rent


VOIP Components for Rent 05/18/2004 06:20 PM
A company that leases VOIP-enabling hardware and software adds the cross-carrier element, mediating between different IP protocols and adding routing, call detail records, security

Useful Java Application Components
0.9.20


Useful Java Application Components
0.9.20
12/26/2004 05:09 AM
A collection of components which may be useful for your project.

Useful Java Application Components
0.9.15


Useful Java Application Components
0.9.15
09/16/2004 03:32 AM
A collection of components which may be useful for your project.

Components maker gives PC a TV makeover


Components maker gives PC a TV makeover 05/05/2004 02:07 PM
SnapStream Media on Thursday plans to launch Firefly, a remote control that lets people manage the media and entertainment functions on their PCs.

Java Aspect Components 0.12


Java Aspect Components 0.12 05/19/2004 10:35 AM
A Java framework for distributed aspect oriented programming.

Useful Java Application Components
0.9.11


Useful Java Application Components
0.9.11
06/05/2004 08:47 AM
A collection of components which may be useful for your project.

Useful Java Application Components
0.9.13


Useful Java Application Components
0.9.13
07/22/2004 06:47 PM
A collection of components which may be useful for your project.

Application Framework Components


Application Framework Components 08/11/2004 11:37 AM
Home page available

Components Left by MOM Uninstall


Components Left by MOM Uninstall 08/21/2004 10:48 AM

International Components for Unicode
(C/C++) 3.0


International Components for Unicode
(C/C++) 3.0
06/22/2004 10:12 PM
IBM Classes for Unicode (ICU) enable you to write fully cross-platform programs

Unhiding Windows Components


Unhiding Windows Components 08/29/2004 11:21 PM

Apple: DVCProHD Components 1.1


Apple: DVCProHD Components 1.1 06/22/2004 10:29 AM
If you're using Final Cut Pro HD with a Panasonic AJ-HD1200A, Apple wants you to install this QuickTime update.

Useful Java Application Components
0.9.14


Useful Java Application Components
0.9.14
09/01/2004 06:52 PM
A collection of components which may be useful for your project.

Q1st utilities and components


Q1st utilities and components 07/17/2004 02:57 PM
Q1st-VFS 0.82 released

Isolated Components and MSI Packaging II


Isolated Components and MSI Packaging II 07/08/2004 07:29 AM

Key Security Review Components


Key Security Review Components 09/15/2004 09:37 PM

Useful Java Application Components
0.9.12


Useful Java Application Components
0.9.12
07/06/2004 06:45 AM
A collection of components which may be useful for your project.

Useful Java Application Components
0.9.10


Useful Java Application Components
0.9.10
04/19/2004 02:52 AM
A collection of components which may be useful for your project.

Macromedia MX: Components and Web
Services (PDF)


Macromedia MX: Components and Web
Services (PDF)
09/25/2002 12:37 AM
Web applications today are developed without significant structure. Often they consist of server-side dynamic pages with embedded script, presentation logic and data access logic. As a result, most of the business logic and data associated with these applications are locked up—unable to be shared inside and outside of corporations. In essence, web applications and data are kept in silos, limiting the ability of companies to share their information and business logic. -- Jeremy Allaire "tri" Most of my PHP work revolves around building corporate Intranets and Extranets. Addressing these issues are important to me.

Java Frameworks and Components


Java Frameworks and Components 11/25/2003 10:22 PM

PSV Delphi Components Library


PSV Delphi Components Library 12/02/2003 06:33 AM
PHP4Delphi 5.3 released

phpPatterns: PHP, Coffee and Components


phpPatterns: PHP, Coffee and Components 12/02/2003 08:48 AM
There's a new post over on phpPatterns about a "one-on-one chat with one of PHPs core developers" and Harry F.

Useful Java Application Components


Useful Java Application Components 12/08/2003 08:24 PM
UJAC 0.9 released

Be cautious when using downloaded
components from the Web


Be cautious when using downloaded
components from the Web
07/01/2002 08:28 AM
CNET Jun 29 2002 10:16PM ET

Useful Java Application Components 0.9.2


Useful Java Application Components 0.9.2 12/17/2003 09:31 PM
A collection of components which may be useful for your project.

Useful Java Application Components 0.9.3


Useful Java Application Components 0.9.3 12/23/2003 11:36 PM
A collection of components which may be useful for your project.

Useful Java Application Components 0.9.7


Useful Java Application Components 0.9.7 02/15/2004 10:29 PM
A collection of components which may be useful for your project.

Useful Java Application Components 0.9.5


Useful Java Application Components 0.9.5 01/23/2004 08:49 PM
A collection of components which may be useful for your project.
Grok Description matches for HiGUI components
GrokA matches for HiGUI components

HiGUI components

The following phrases have been identified by the grok system as matching this entry: higui components

















Also check out:


Grok

Ipod Porn on the
Rise

Brief Abstract of
Wikipedia's
Mesothelioma Cancer
page

Get first aid
instructions in your
cell phone

IE is crap
JSPWiki gains
podcasting support

Holongate Eclipse
Plugin Suite

Schematics
Snigel heavy
industries Servlet
server

First Che-ez! Foxz2
Review, and a True
Story

PSP Specs Slip Out
eGroupWare 1.0 RC5
released

MediaWiki 1.2.5
released

JGraph Paris (v3.4)
released

PHP Class
'DCC::QuickSite Pro'
released

PHP Class 'DB
Country Codes'
released

The Challenge Apple
Faces In Enterprise
Computing

AirHub
Mac OS X Riddled
With Security Holes

Not In Our Backyard
Apple Changes .Mac
Support

Not So QuickThinking
Inside Apple's G5
Shift

Apple's iPod Lead
Creates New
Challenges, Analysts
Say

Geek dreams
Current Iraq Troop
Levels to Be
Maintained Until End
of 2005

In Ohio, Bush
Questions Kerry's
Ability to Lead

Quartet Tentatively
Backs Sharon Gaza
Plan

Coke appoints new
chief executive

Rato gets the top
job at the IMF

Thousands flee
California fires

the wonderful,
wonderful cat.

Ebig tonight
Ponzi's Favorite
Program

An American Classic
Bad Scrabble Hands!
Voters to decide
fate of India PM

Football: Arsenal
still unbeaten

Football: Porto
reach Cup final

Darfur crisis
'tragic', UN says

UK 'slips down
e-government table'

Chinese PM Pledges
Greater Intellectual
Property Protections

Kanguru unveils
combo MP3 player,
recorder

MassTransit 4.5 adds
HTML Web-based job
tickets

California
Firefighters Battle
Six Early Blazes
(Reuters)

U.S. to Keep 138,000
Troops in Iraq
Through 2005
(Reuters)

U.S. Reveals Iraqi
Prisoner Deaths as
Scandal Grows
(Reuters)

Roddick Out in First
Round of Italian
Open (AP)

Food on a stick
Tom's Networking
Find WiFi Seeker
Meets Claims

Cisco May Intro New
Support for Roaming

First with Wi-Fi
New iPod TV Spot
Jobs WWDC Keynote:
Preview of Mac OS X
“Tiger”

Onyx Beefs Up
Contact-Center
Software
(NewsFactor)

Microsoft Debuts New
Version of DRM
Software
(NewsFactor)

what is grok?