The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Plugging the pieces together

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
Plugging the pieces together Posted: Jun 10, 2005 7:34 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: Plugging the pieces together
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Cincom Smalltalk Blog - Smalltalk with Rants

Advertisement

Over the last few years of development work on BottomFeeder, the application has changed in one very important way - what started out as a monolithic, big ball of code has become a set of reusable components that have been plugged together. That's not true in all cases; the RSS parsing is still too tightly coupled to the application - a looser coupling could make for a fully reusable Smalltalk library for dealing with RSS and Atom. However, that's the exception here. The application now includes, between core components and plugins, 30 pieces that can be updated in a (mostly) independent fashion. Of course, updates to one sometimes require new APIs available in another, but you get the idea.

So what's there? Let me walk through the list:

  • SpellChecker - a pluggable spell checking module. It depends on the presence of the ASpell shared libraries, which are readily available for Linux and Windows, and can (in theory at least) be compiled for other platforms
  • GIF Support - a library for reading GIF format
  • WinGDIPlus - a Windows specific library that uses native libraries to convert various image formats into something that Smalltalk can use
  • EpiWin32Folder - a Windows specific library that enables use of the directory selection dialog (as opposed to the file selection one)
  • Emote-Support - used mostly by TypeLess, it provides a set of emoticons, enabling auto-replacement of ASCII-art
  • ExtraEmphasis - a library that simplifies various VW font usage scenarios
  • ExtraActivity - a library that makes it easier to animate Visual Components. Used mostly bu WithStyle
  • Weaklings - adds a simple "Weak" mechanism for instance variable slots in an object
  • VRCommonDialogs - a cross platform set of common dialogs
  • Http-Overrides - this is really part of the NetResources library. It separates out the overrides required by that library, so that changes needed after a new VW release are easier to track down
  • NetResources - a basic library for wrapping the VW net clients libraries with a highter level API
  • NetResourcesHTTP - a high level API for HTTP access that simplifies access, and adds support for things like caching, digest auth, and more
  • PatchFileDelivery - a general settings driven library for delivering application level updates (parcels) via HTTP. Supports download and save, and download and load immediately
  • Browsing-Assist - a library that supports spawning a web browser on an URL across platforms. On Windows and Mac, this "just works", and has APIs for spawning new or reusing. On other platforms, the browser must be specified
  • OSTimeZone - a cross platform library for setting the time in VW to match the PC clock
  • XmlRpcClient - a library for making XML RPC calls and handling the responses
  • XML Configuration Files - a library for storing configuration information (or serializing objects) in an XML format.
  • BottomFeeder - the basic BottomFeeder application itself
  • Twoflower - the Twoflower Http parser, used by WithStyle if LibTidy is not present or fails
  • WSBundle - The Software With Style code base
  • LibTidy - a library that wraps the C based LibTidy. This library takes arbitrary HTML and cleans it up, returning valid XHTML.
  • Win32TaskbarSupport - makes VW Windows and menus cognizant of bounds, including the taskbar - prevents menus from disappearing behind the taskbar
  • Windows TrayIcons - a Windows specific library with a simple API - allows you to drop an application into the tray
  • IRC-BottomFeeder-Typeless - the Typeless IRC plugin to BottomFeeder
  • Blog-Tools - the Blog posting plugin, which supports Blogger API, MetaWebLogAPI, and the MT API. Also available Standalone, as BottomLine
  • WinMineGame - Minesweeper
  • GoldenMonkey - a game
  • Steroids - Asteroids game
  • Xonix - the old Xonix arcade game
  • EnclosureHandler - manager for downloading/saving enclosures automatically

That list has grown over time - I started out with three components that could be updated at runtime! I should also point out that an awful lot of those components were written by other people - in particular, Software With Style is responsible for the excellent NetResources and WithStyle components - without which, BottomFeeder would be a lot less nice.

Read: Plugging the pieces together

Topic: Intellisense and Sparse Libraries Previous Topic   Next Topic Topic: Apple to intel

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use