NetAdvantage for iOS: Native iPad & iPhone Controls for Apps

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
  • Deletion
  • Filtering
  • Grouping
  • Pull-down to re-load
  • Row Re-ordering
  • Scrolling Shortcut
  • Selection
  • Shortcut Bar
  • Sorting
  • Star ( * ) Sizing on Columns
  • Styling

 

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

{

return 10;

}

- (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;

return cell;

}

-(NSString *)gridView:(IGGridView *)gridView titleForHeaderInColumn:(int)column

{

return [NSString stringWithFormat:@"Col: %d", column];

}

- (int) gridView:(IGGridView*)gridView numberOfRowsInSection:(int)section

{

return 500;

}

 

 

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

The new IG Chart is based on the core API of our market leading high performance XAML charting control.  Internally we have a series of 2-way code translation technologies that takes C# code and churns out JavaScript and Objective C in our CI builds.  This helps us deliver the core frameworks faster, keeping consistency for you across platforms.  We tailor and optimize the public API that you use, so the experience is consistent with what you’d expect in the platform you are building in. 

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:

 

Category Series

  • Area
  • SplineArea
  • Bar
  • Column
  • Line
  • Spline
  • StepLine
  • Waterfall

 

 

Range Category Series

  • RangeArea
  • RangeColumn   

 

 

Financial

  • FinancialPriceSeries
  • TypicalPriceIndicator
  • AbsoluteVolumeOscillatorIndicator
  • AverageTrueRangeIndicator
  • AccumulationDistributionIndicator
  • AverageDirectionalIndexIndicator

 


Polar

  • PolarLine
  • PolarArea
  • PolarScatter

 


Radial

  • RadialColumn
  • RadialLine
  • RadialPie

 

 

Scatter

  • Scatter
  • ScatterLine
  • Bubble

 

PieChart

 

 

Trend Lines

  • Linear
  • Quadric
  • Cubic
  • Quatric
  • Quintic
  • Logarithmic
  • Exponential
  • Power Law
  • Simple Average
  • Exponential Average
  • Modified Average
  • Cumulative Average

 

 

Next Steps

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 nlandry@infragistics.com 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, jasonb@infragistics.com.

Thanks for reading,

Jason


Tags /

Comments  (11 )

ActiveNick's Big Bald Blog
on Fri, Apr 20 2012 3:19 PM

A debate is raging in the technology world these days: Is there a need for a third mobile ecosystem?

mfsilva
on Thu, Apr 26 2012 1:14 PM

This is going to be awesome...love infragistic controls and just started toying with ios development (been somewhat frustrating thus far).

competent
on Thu, Apr 26 2012 8:05 PM

Hooray!!!! I can't tell you how happy I am to see a major control vendor entering the iOS space with controls for BUSINESS users.

There is an enormous gap in the iOS marketplace for third party control vendors that provide business controls. We are spending far too much of our time trying to provide the UI infrastructure that Apple is missing for business applications.

One request: I am sure you would get some good traction in the MonoTouch community if you were to work with Xamarin to provide MonoTouch bindings for your controls. The community usually does a pretty good job with this, but it would be an incredible added value if these (or instructions to create them) were delivered with the controls.

ActiveNick's Big Bald Blog
on Thu, May 3 2012 12:56 PM

Mobile & Web. This is 2012, and when you talk to developers everywhere, what you constantly hear

ActiveNick's Big Bald Blog
on Thu, May 3 2012 1:01 PM

Today’s launch of NetAdvantage 2012 Volume 1 marks another exciting milestone for .NET, web and

ActiveNick's Big Bald Blog
on Thu, May 3 2012 3:28 PM

Mobile & Web. This is 2012, and when you talk to developers everywhere, what you constantly hear

ActiveNick's Big Bald Blog
on Mon, Jun 11 2012 5:21 PM

Last April, Jason Beres announced our first entry into the world of iOS controls for Apple Xcode developers

abagwell
on Mon, Jul 23 2012 8:19 PM

I'm downloading it now!!!   Can't wait to check it out.

Senthil Ram
on Sun, Sep 23 2012 10:16 PM

When iOS version is expected to release ? and will it support iOS 6 ?

Joe Hanna
on Wed, Oct 17 2012 3:21 AM

Hi guys,

I am VERY excited about your new iOS controls, particularly using the MonoTouch bindings.  The problem is knowing how to consume them.  Can you release some MonoTouch samples really soon please!  I am ready to buy based on what I can see - I just need to make sure I can make it work with my MonoTouch apps.

Thanks

Nick Landry
on Thu, Oct 18 2012 9:39 AM

Senthil, it seems my reply from last month did not show up. NUCLiOS is available now, and yes, it fully supports iOS 4.3 and up, including iOS 5 and 6.

Joe, we're glad to see you so excited about the controls. We're excited too. The MonoTouch bindings are still in beta. They are included in the installer and we'll be publishing updates as the API will probably change. I asked one of our evangelists to work on a blog post to teach how to get started with NUCLiOS & MonoTouch. In the meantime, you can start playing with it now. The API is exactly the same as the iOS NUCLiOS API, except that you use C# instead of Objective C. Give us a few days for that blog post to go live.

Add a Comment

Please Login or Register to add a comment.