Skip to Content
The number of general widget developers is increasing every day; so does the number of developers building widgets to monitor productive or development environments within their companies. Look at the blogs from Building your own SAP Transaction Widget, Widgets and Trust, or Building the TechEd Schedule Widget to get an impression on how powerful widgets can be. Widgets are easy to program, easy to use, fancy, and they can be spread throughout a growing community.  Past Let’s take a look at how widget development was and is done. Every single developer has his or her own programming style and individual file structure within the widgets. I’ve seen everything – from a 2000-line .kon file up to a huge amount of unordered JavaScript files. That is, in fact, not bad at all if you are the only developer of this particular widget. It is your baby and you know exactly which bit to turn for changing the behavior. But imagine the struggles others have to go through who need to adopt or further develop your widget. Your individual internal structure can be a pain in the a…  Today For dealing with this not to be underestimated problem we decided to support you as a developer with an internal file structure, which is based on a three layer architecture or the Model-View-Controller design pattern, depending on your preferences. In addition we included some basic functionality that you may want to use for your widgets; like auto-update, feedback form, send to a friend mechanism. That enables you and other developers likewise to find the way through your code, because everything looks familiar. Additionally it enables you to exchange module-like parts of any widget. You can download the source files and a simple build script supporting you in packaging and versioning at the bottom of this blog.  Future  Looking into the future we see us supporting you with a widget development framework including a graphical composer with an image and interaction library, as well as a module collection that enables you to easily build and update your widget. Further we will have a gallery running, were users can browse, rate, and comment the widgets they are using, sharing their thoughts, ideas, and problems with the entire community.  Download our empty base widget project for the Yahoo! Widget Engine here.
To report this post you need to login first.

4 Comments

You must be Logged on to comment or reply to a post.

  1. Ed Herrmann
    Hi Stefan,

    This is a great idea to provide a nice starting framework for building new enterprise widgets, while ensuring a consistent, solid MVC design.  Great job, thanks!

    -ewH

    (0) 
  2. Dainius Vaznys
    Stefan,

    having a predefined file structure does not make the code MVC-enabled by itself. I should agree that a common file structure is something that allows for easier communication but this is only one piece in the puzzle — the other pieces would be code naming conventions, shared runtime libraries, etc. Now when it comes to MVC I suppose we should provide some kind of runtime to help developers to apply this pattern in the widgets scope — the file structure itself does not make it MVC.

    (0) 
    1. Hi Dainius,
      thanks for your reply.
      Your are right, it’s still up to the developer to follow a certain design pattern or not.
      As mentioned, our team is working on a Eclipse plugin to ease widget development even for several platforms in parallel. By the end of the year there will probably be an alpha version ready.
      Regards.
      Stefan
      (0) 
  3. Dainius Vaznys
    If we refer to the Future as some point in time where we have design-time support to build the widgets, I’d like to point out that somewhere before it we are going to provide developers with runtime libraries that allow for easier widget development. A runtime that does MVC stuff, that kind of things. Further on, we are going to make developers life even easier by building desing-time tools to create widgets, assemble them out of some kind of modules, browse for them, etc.
    (0) 

Leave a Reply