• MacTech Network:
  • Tech Support
  • |
  • MacForge.net
  • |
  • Apple News
  • |
  • Register Domains
  • |
  • SSL Certificates
  • |
  • iPod Deals
  • |
  • Mac Deals
  • |
  • Mac Book Shelf

MAC TECH

  • Home
  • Magazine
    • About MacTech in Print
    • Issue Table of Contents
    • Subscribe
    • Risk Free Sample
    • Back Issues
    • MacTech DVD
  • Archives
    • MacTech Print Archives
    • MacMod
    • MacTutor
    • FrameWorks
    • develop
  • Forums
  • News
    • MacTech News
    • MacTech Blog
    • MacTech Reviews and KoolTools
    • Whitepapers, Screencasts, Videos and Books
    • News Scanner
    • Rumors Scanner
    • Documentation Scanner
    • Submit News or PR
    • MacTech News List
  • Store
  • Apple Expo
    • by Category
    • by Company
    • by Product
  • Job Board
  • Editorial
    • Submit News or PR
    • Writer's Kit
    • Editorial Staff
    • Editorial Calendar
  • Advertising
    • Benefits of MacTech
    • Mechanicals and Submission
    • Dates and Deadlines
    • Submit Apple Expo Entry
  • User
    • Register for Ongoing Raffles
    • Register new user
    • Edit User Settings
    • Logout
  • Contact
    • Customer Service
    • Webmaster Feedback
    • Submit News or PR
    • Suggest an article
  • Connect Tools
    • MacTech Live Podcast
    • RSS Feeds
    • Twitter

ADVERTISEMENT

Blueprint-and OODL Framework

Howard Oakley

MCL's need…

Although Macintosh Common Lisp (MCL) 2.0 provides a lot of classes which make the development of applications straightforward, many of those using it feel the need for a more complete application framework, perhaps with the functionality of MacApp. So, at the time that the OODL SIG was starting to get going, some of us gathered electronically and are conspiring to build such an application framework, named "Blueprint" by Jeff Alger (a co-conspirator).

MCL has good window/view, dialog and dialog item classes, the latter in particular having been extended to provide almost every form of control and widget known to man, and menus are also well catered for. However, an examination of the class heterarchy (see the diagram on the facing page) with MacApp eyes shows that there are many gaps, particularly in command handling, printing and documents. In truth some of the classes which look attractive are in fact very shallow-for instance, the Application class arrived during the late development stage of MCL 2.0, and really handles AppleEvents and nothing else.

Discussion in the info-mcl mail group and elsewhere has suggested that the lack of a thorough application framework may be one of the major factors limiting the number of products developed with MCL, and we are all agreed that we would rather see the MCL development team spending their time making version 2.1 even better, rather than trying to design and build Blueprint too. So, it was a natural community project for those in the new OODL SIG to work on.

... IS dylan's gain

The other target platform at which we are aiming is Dylan, of course. We believe that having a solid but efficient and compact application framework coded in Common Lisp will be a good foundation for when copies of Dylan start to arrive amidst APDA's soluble packing chips. In case you have still not read a copy of Apple's initial language definition for Dylan, at least in its first incarnation its syntax is strongly Lisp (although there are hints that additional 'more popular' syntaxes will also be supported in the future).

A future with Dylan has some serious consequences on Blueprint's design. There is already a massive and highly sophisticated application framework for Common Lisp systems, the Common Lisp Interface Manager (CLIM). This is currently offered for other platforms at version 2.0, but is still in its previous version for MCL. None of us conspiring to Blueprint would wish to be seen to attempt to subvert or compete with CLIM, which is – and should remain – the standard cross-platform framework for Common Lisp. However, it is by no means small, and it does not quite enable the development of applications fully compliant with the Apple Human Interface Guidelines. Blueprint will be much smaller and must be oriented at providing those developing true stand-alone Macintosh applications in MCL or Dylan with full compliance with the guidelines.

Another significant application framework used in the Common Lisp world is Garnet, which has recently been made available in the public domain. However, even though Garnet is rather leaner than CLIM, it is still large and does not use the Common Lisp Object System (CLOS), the current (and now draft ANSI) OOP system for Common Lisp. This would clearly not be tenable when we are promoting MCL as an OODL!

PROGRESS

This summer has seen active discussion of a number of major design issues. We are agreed that from the outset, Blueprint will support fully factored applications. However, there was a malicious rumor circulating to the effect that trying to achieve this in MCL 2.0 would prove a problem; following some preliminary work, I can now confirm that not only is it possible, but it seems considerably easier than in MacApp or any of the 'mainstream' compiled languages.

Others within our informal group have been looking at architectural issues, and I am delighted that Jeff Alger has his Solution Based Modeling hat on, and is making sure that whatever we do will work well with the Goldstein and Alger approach to development, as well as having a sound basis. With a surprisingly large number of renegades from a MacApp past, I am confident that we will end up with a framework which is practical as well as theoretically proper-and lean, mean and purposeful.

Another area of general agreement is that Blueprint will be available in source code, and essentially free and without runtime licensing cost through OODL SIG. Our group has the benefit of many great minds, and our aspirations are high. If you feel that you can make a contribution-particularly if you can write good Common Lisp, as it is in 'implementors' that we are weakest-please mail me. n

NOTE: 'Blueprint' is but a working name, and no claim is made for it as a trade mark.

 
MacTech Only Search:
Community Search:

 
 
 

 
 
 
 
 
  • SPREAD THE WORD:
  • Slashdot
  • Digg
  • Del.icio.us
  • Reddit
  • Newsvine
  • Generate a short URL for this page:



MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797
MacTech is a registered trademark of Xplain Corporation. Xplain, "The journal of Apple technology", Apple Expo, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, Apple Expo, MacTech Central, MacTech Domains, MacNews, MacForge, and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.
 
Nov. 20: Take Control of Syncing Data in Sow Leopard' released
Nov. 19: Cocktail 4.5 (Leopard Edition) released
Nov. 19: macProVideo offers new Cubase tutorials
Nov. 18: S Stardom anounces Safe Capsule, a companion piece for Apple's
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live