It is a truth universally held by all learned men and women that Apple’s development environment and tools suck big time. Others say XCode and iOS dev environment have grown mature lately, perhaps it is true but I can only imagine the horror it must have been! Last week I came across a effort called Pixate on Kickstarter that should alleviate some pain for iOS developers.
Pixate – Styling in iOS
To be honest XCode does a half-decent job to let you style controls. But the workflow of importing graphical assets of multiple resolutions remains convoluted, leave alone making UI respond to state changes within the application. Pixate seems to have solved this problem rather elegantly, they propose styling apps their components using CSS and their custom CSS Engine. This is awesome at couple of levels. First developers can piggy back on their knowledge of CSS from web development world and two it enables an extra level of separation between Views and how content within is actually styled.
Ancestry of Pixate
I personally do not know what exactly inspired Pixate developers to use CSS as the styling engine. Use of CSS in web development as mentioned above is well known, so that is an obvious starting point. But there are precedents in other areas too.
Take for example how XAML works in WPF and Silverlight. There too is a clean separation of control elements and the code to style them. In fact, though XAML is a proprietary language, I thought it was a well engineered technology. Of course Microsoft never quite nailed positioning for XAML leading to its poor adoption and high failure rate. I have seen projects on WPF/Silverlight being used for purposes they were never designed for, say real-time rendition of high volume graphs, that too on half a decade old hardware.
A minor detail, XAML is not just about building UIs and styling them, it was a markup for object serialization..which explains why Workflow Foundation rules/graphs could be described in XAML. Sadly it did not take off but am fond of XAML still.
Support Pixate on Kickstarter!
Without digging into the past, let me just say I love what Pixate are attempting. Driving look and feel in iOS apps via CSS-like syntax is a good thing. So I have registered myself on Kickstarter as a supporter of this project. If you are curious am going for the $99 pledge, gets me a single user dev license if the project goes through. I would highly recommend you take a look at Pixate and support them, we all win if tools surrounding iOS(they have an Android equivalent on their plans too) development get more smarter.