[logo] JX Application Framework
   
Home     
* Cart

Introduction

Why use a framework?

Tutorial
    Class tree

    Open protocols

Download

GitHub

Vision
    API stability

    Code optimization

    Bibliography

Features
    Object messaging

    Extensibility

    Drag-and-Drop

    Networking

    3D Graphics

    Powerful tables

    Styled text editor

    Memory leak debugger

    Known bugs

    Future plans
    Projects

FAQ

Donate

Other software

What's new!

Log in  

   
     

Policy on optimization

The goal of the JX Application Framework is to hide all of the evils of X. To this end, the convenience of the API was given priority over optimization.

This may sound strange, especially since X programs are often run over a slow network. However, we have yet to find a case where we couldn't optimize sufficiently within the constraints of a convenient API!

The best example is dealing with images. X chose to make a distinction beteen images stored on the server machine (Pixmaps) and images stored on the client machine (XImages) because some operations (like XGetPixel()) are best done on the client machine.

JX hides the distinction between XImages and Pixmaps because it is much easier to work with a single class (JXImage). Among other benefits, one does not need duplicate functions to accept both types.

JXImage automatically switches the image from XImage to Pixmap and back depending on the operation being performed. While it is true that this allows one to write code that "thrashes," it is easy to avoid, so the benefits outweight the costs.

Copyright © 2012 New Planet Software