Skip to main content

Generate Objective-C code that builds Cocoa UIs. Replaces XCode's XIBs

Project description

xibless is a library that generates Objective-C code that builds Cocoa UIs. The goal of this library is to replace XIBs in XCode and, if you want, get rid of XCode altogether.

With xibless, instead of designing UIs with a WYSIWYG editor, you build them in a Python script, similarly to what you do when you build Qt UIs without the Designer. For example, a script like this:

result = Window(200, 200, 330, 110, "Tell me your name!")
nameLabel = Label(result, text="Name:")
nameField = TextField(result, text="")
helloLabel = Label(result, text="")
button = Button(result, title="Say Hello")

nameLabel.width = 45
nameLabel.packToCorner(Pack.UpperLeft)
nameField.packRelativeTo(nameLabel, Pack.Right, Pack.Middle)
nameField.fill(Pack.Right)
helloLabel.packRelativeTo(nameLabel, Pack.Below, Pack.Left)
helloLabel.fill(Pack.Right)
button.packRelativeTo(helloLabel, Pack.Below, Pack.Right)
nameField.setAnchor(Pack.UpperLeft, growX=True)
helloLabel.setAnchor(Pack.UpperLeft, growX=True)
button.setAnchor(Pack.UpperRight)

would generate Objective-C code that build a form with a name field, a text label and a button. The second part of the script places the widgets on the form appropriately.

Although xibless is written in Python, the Objective-C code it generates has no Python dependency, so this tool is suitable for any Cocoa developer.

xibless runs on Python 2.7 and up. This means that if you’re on OS X 10.7 or newer, you can use the built-in Python. Otherwise, you’ll have to install a more recent version of Python.

Installation and usage: Please refer to the Documentation for installation and usage instructions.

Early Development

xibless is in very early development and there’s no API documentation yet. For now, you’ll have to figure that API from the demos and by digging directly in the source. Also, note that this API could wildly change before v1.0.

Also, the number of rough edges at the moment are incalculable. There are no error message for invalid UI scripts, so it might be very hard, for now, to figure out why your scripts don’t work.

Oh, yes, and memory leaks, there’s tons of them.

Changes

Version 0.2.0 – 2012/06/28

  • Added Sphinx documentation
  • Added the xibless run command for quick UI previews.
  • Added Combobox and Popup.

Version 0.1.0 – 2012/06/25

  • Initial pre-alpha release

Project details


Release history Release notifications

History Node

0.5.2

History Node

0.5.1

History Node

0.5.0

History Node

0.4.1

History Node

0.4.0

History Node

0.3.1

History Node

0.3.0

This version
History Node

0.2.0

History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
xibless-0.2.0.tar.gz (102.6 kB) Copy SHA256 hash SHA256 Source None Jun 28, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page