Wednesday, December 5, 2012

TabView for iOS

We continue to make progress on supporting iOS development in Real Studio. Last week we focused on the iOS TabView.
The TabView is similar to our current TabPanel control in some ways but there are three important differences:

1. TabView tabs are always along the bottom, whereas in a TabPanel they are along the top. A TabView can include icons or not, though a TabView that doesn't include icons is rare.

2. A TabPanel is a control. A TabView is not. While a TabPanel can be just about any size and positioned just about anywhere on a layout, a TabView must either consume the entire screen (as in the example above) or one portion of a SplitView. The Settings application on iPad is an example of a SplitView. 

3. A TabPanel can contain other controls. A TabView cannot. Well, to be more correct, a TabView can contain other layouts which can contain controls.

This brings up an important difference between how you will build iOS apps compared to how you are used to building desktop and web applications today. Because most of the applications you create will be universal (supporting both iPhone and iPad) you will be creating "views" which are simply layouts of controls (much like container controls today) and then dropping those views onto things like a tab in a TabView. This allows you to easily share these views between your iPhone and iPad user interfaces. Consider, for example, that the Settings app on iPhone only shows you the left side (the list of settings) initially. You then tap a setting to see its details. Those details are a separate view. The two views (list and detail) are shared by both the iPhone and iPad versions of Settings. The only difference is that the iPad version uses a SplitView to display both since there's enough screen space available.

These differences won't change much about how you work. After all, a view is pretty much the same as a container control, a window or a webpage. But as you can see, the TabView is a bit different from the TabPanel control you use on the desktop today.

I'll be blogging with more progress as we continue, stay tuned!


olivier said...


Is it possible, in the first version, insert a htmlviewer to access a web app?

Geoff Perlman said...

@ Oliver - Yes, in fact, we already have the HTMLViewer working for iOS.

olivier said...

Great! Thank you.

Hal Gumbert said...

Thanks! I was just getting itchy for some more iOS news.

Thomas Boelskifte said...

Ohh man, iOS in RealStudio is going to be BIG Geoff, I can promise you that!

I tried learning Objective C many times, because I'd like to develop iOS apps, but have always failed big-time.

The reason? My brains just wired the same way that C and languages like it are. Even super-duper beginner books on iOS development have always looked like klingon to me - I've never even gotten past the first "Installing xCode" and "Example 1: Hello World" chapters of any xCode book :)

But Real Studio, Apple Script and languages like that, I totally get - I'm even fluent in SQL syntax, HTML and CSS, so getting iOS support in RS is really big to me.

And to about 75% of the people I know who code, in any language, so I can tell you there's a lot of people looking forward to this - it's really great you're taking iOS support on in RS, thank you for that and for your continued awesome support!

Martin Kvapil said...

Im so excited im almost bursting :)

ConfusedNerd said...

Any idea of the time frame for this coming out?
I don't mean exact date, but are we talking early or late 2013? and by that I REALLY hope 2013.

Geoff Perlman said...

@ ConfusedNerd - Yes, we are planning to ship iOS support in 2013.