Today I am pleased to announce the upcoming release of our latest set of user experience controls, NetAdvantage for iOS. NetAdvantage for iOS will include the core controls you need to build high performance, highly visual iPad & iPhone applications. In our first release, we’ll be shipping native, Objective C data grid and data chart controls, both optimized for the lower power Apple chips, built with performance and style in mind. When it comes to control development on tablets and mobile phones, performance and battery life are critical success factors. We’ve done a lot of work in both of those areas to make sure that your users will get a premium experience when interacting with these new controls.
Let’s take a look at what we’ll be offering in v1 in these native iOS controls.
iOS Grid Control
The iOS grid control (IG Grid) is more than your typical tabular grid, it can be styled and templated to look like almost anything. Take a look at these screen shots of a few of the samples we’ll be including with the product.
Some of the key features we plan on shipping in v1 to help you create rich, interactive iPad grid applications include:
- Column Resizing
- Context Menu (Tap & Hold)
- Data Source Helper
- Pull-down to re-load
- Row Re-ordering
- Scrolling Shortcut
- Shortcut Bar
- Star ( * ) Sizing on Columns
As we design and implement features, we are making sure they makes sense in the context of the iPad or the iPhone , so the interactions will be consistent with UI patterns you are accustomed to on these devices. And as you’ve come to expect with Infragistics grid controls, performance is critical, so we are designing with high performance and virtualization in mind.
The first question that usually gets asked about the grid is ‘how do I get data into this thing’. So let’s talk about that for a minute.
Binding Data to the IG Grid
To get data into the grid, we’ve implemented a helper that will make it easier to bind arrays to the grid. If you’ve done any iOS development, you know that there isn’t really the traditional bindings (at least coming from a .NET background). Essentially you're providing an interface that implements a protocol that the view knows about, and the protocol methods provide the information that the IG grid needs to display data.
So here is typical code to bind an array to the IG Grid or a UITableView in iOS:
- (int) numberOfColumnsInGridView:(IGGridView*)gridView
- (IGGridViewCell *) gridView:(IGGridView *)gv cellAt:(IGCellPath*)path
NSString *cellId = @"cellId";
IGGridViewCell *cell = [gv dequeueReusableCellWithIdentifier:cellId];
if (! cell)
cell = [[IGGridViewCell alloc] initWithReuseIndentifier:cellId];
cell.textLabel.text = path.description;
-(NSString *)gridView:(IGGridView *)gridView titleForHeaderInColumn:(int)column
return [NSString stringWithFormat:@"Col: %d", column];
- (int) gridView:(IGGridView*)gridView numberOfRowsInSection:(int)section
To make this easier, we’ve implemented classes that we call DataSourceHelpers that take an array of data, and do a bunch of the wiring up for you, so that you can write less code. Basically it looks at the data you've given the helper class, and then looks for the properties on the objects and auto generates the columns. For example, to bind data to the IG Grid using the IGGridViewDataSourceHelper, it will look like this:
NSArray* data = [DummyData generateData:250];
IGGridViewDataSourceHelper* dataSource = [[IGGridViewDataSourceHelper alloc]init];
dataSource.data = data;
_gridView.dataSource = dataSource;
So we are doing work to ensure that you get a great experience (and simpler) when working with data and getting it into the IG Grid. We’ll be looking forward to your feedback on how we can simplify this even further.
iOS Chart Control
So on the charting side, you can expect synergy in features and capability across iOS, XAML, HTML5, WinJS & WinRT. In v1 of the IG Chart control for iOS, we have all of the business charting scenarios you’d need, plus more.
Let’s take a look at that list of v1 charts:
Range Category Series
- Power Law
- Simple Average
- Exponential Average
- Modified Average
- Cumulative Average
I hope you can see we are doing our best to deliver a complete Chart & Grid solution to the market for iPad and iPhone Grid and Chart controls. Our plan is to deliver a beta of this product in the next 4 to 6 weeks, with an RTM in the summer timeframe. When we ship the RTM, we’ll post the roadmap for the next year as well, so you’ll be able to see the direction of the product and the new and exciting controls based on iPad UI patterns. As always, we shape our products based on your feedback, so keep us in the loop with your iOS app development goals.
When we ship, NetAdvantage for iOS will be included with NetAdvantage Ultimate, and it will be sold separately. If you are a NetAdvantage Ultimate subscriber in the 12.1 release, you will automatically get NetAdvantage for iOS when it ships RTM.
To learn more about NetAdvantage for iOS as we get closer to launch (and to be the first to get the beta), keep an eye on ActiveNick’s Big Bald Blog at http://blogs.infragistics.com/blogs/nick-landry/default.aspx. Nick is the product manager for all mobile at Infragistics, so let him know what’s on your mind at firstname.lastname@example.org or follow him at @ActiveNick. You’ll see some killer stuff in HTML5 / jQuery mobile in 12.1, as well as the Windows Phone 12.1 launch. So rest assured mobile is as important to us as it is to you.
If you have any follow up questions feel free to shoot me an email as well, email@example.com.
Thanks for reading,