Creating Graphs on an iPad/iPhone - iphone

I was wondering if anyone knew of a simple way to implement graphing in an iPhone/iPad application. I've spent quite a bit of time googling and can't seem to find any sort of a solution. Maybe I'm just searching with the wrong terms since a lot of consumers are asking about "graphing" in terms of using their applications, not developing them, the search-space is rather polluted.
It seems like a lot of iPad/iPhone applications have embedded graphs... and I can't imagine that every developer has invented their own graphing engine from the ground up. Or, maybe they have... Does anyone have any suggestions?

Core Plot is one popular option.

I have herd wonders about core plot but for myself i wrote a graph View Class which creates a standard graph.
Have a look
http://sebkade.wordpress.com/2010/05/06/basic-graph-class-for-iphone/
hope it helps

From my experience graphs are best done through UIWebView's and then written in HTML/JavaScript - there are many great html/javascript libraries for graphings. Personally, I like
http://www.highcharts.com
but these exist as well.
http://www.sencha.com/products/touch/charts
https://developers.google.com/chart/
http://www.zingchart.com/#welcome

Related

Nice Core-Plot implementations OSX

I am using Core Plot for a little App I am programming at the moment and I was wondering if there are any good looking examples or resources. With good looking I don't mean the google docs Example App ;)
Core Plot includes a number of example apps that demonstrate various features. There is also wiki page on the Core Plot site with links to many apps that use it.
I am not sure that what are you looking for as you have not cleared your question. But i am telling you this link: http://www.johnwordsworth.com/2011/10/adding-charts-to-your-iphone-ipad-app-using-core-plot/ which certainly will help you.

iOS Line Graphing?

What would be the easiest way to graph a line graph on a iOS app? I am building a iOS app that needs a line graph I don't need anything complex just something that will graph a int.
I have seen core graph but not sure if thats the way to go.
You're probably thinking of core-plot, which would be a fine solution if you want something that has a lot of features and is ready out of the box.
If you want something more minimal, you could create your own line graph UIView subclass very easily and make it do exactly what you want. Building a general-purpose graph library is a lot of work because there are so many ways that people like to vary their graphs. If you know exactly what you want and don't need something more flexible, rolling your own can be a quick and effective solution.
If you do decide to roll your own, Matt Gallagher's Cocoa With Love blog has a number of very good graphics entries to get you started.
Apple's Accelerometer sample app (on their iOS Developer Center web site) includes some example code for a simple line graph.
Nuclios http://www.infragistics.com/products/ios/ is a pre-built library that has a bunch of graphing styles. It's not free but I don't think the license fee is outrageous either ~$250
You could take a look at BEMSimpleLineGraph.
It's modeled after UITableView and offers a wide range of features.

iPhone Application logic

I need to develop a client application for a site that host and show images.
The client should shows all new images and take a picture and send to website.
I'm a newbie to iOS programming so this question:
In an application alike this, there's the need to create a Model? I ask this question because I think I can do anything with Controllers but maybe I'm wrong.
While there is never a "need" to create a model, it's good form to do so, and it'll likely save you many headaches down the road. Ultimately, you're going to need to deal with images and websites and how they interact with each other and whatnot, so you might as well do it in models from the outset.
I'm as guilty as anyone for wanting to see immediate results and hack together something quickly, but I always regret it later on, and have to spend more time than I'd expected refactoring it into something usable.
The MVC pattern as used in Mac OS and iOS applications isn't something best explained in an answer box but here's a link to some simple documentation about the roles of Models, Views and Controllers
Some good basic introductions to start with, which also have relevant links to the next stage of documentation are:
Cocoa Core Competencies
Cocoa Application Competencies for iOS
Read these excellent articles first. You'll learn better and faster if you do some basic reading.

Has anyone had much success recently using the Cappuccino Framework?

I'm just creating my first project in Cappuccino without a lot of success. Looking for examples and documentation, there isn't a lot out there...
The differences from real Objective-C and the lack of libraries mean you cannot easily convert code directly from say a OS X desktop app. to Cappuccino.
As an experienced PHP, and RoR developer (besides the Java, VB, VC.....) I can't quite see the logic of abstracting/wrapping JavaScript in another language.
Any comments or suggestions for a more efficient framework?
If you have specific questions that can't be answered in the IRC channel (it just depends who's in there) you should post the question to the mailing list and someone will help you.
As for why you would want objective-j I'll point you to this blog post which contains several reasons why objj exists. http://cappuccino.org/discuss/2008/12/08/on-leaky-abstractions-and-objective-j/
I have converted several Objective-C classes nearly line for line into Cappuccino. Mostly it's a matter of changing NS to CP and changing pointers to non-pointers. What differences between Objective-C are you thinking about?
Indeed you could even take your existing XIB files from your Cocoa desktop app and convert them to Cappuccino using nib2cib. Here's how to work with Interface Builder using XCode 4: http://groups.google.com/group/objectivej/browse_thread/thread/786331dbcbc9c7b1.
I also recently started a project in Cappuccino and what I could say is: definitely it worth it. I'm used with javascript as well as (but less) cocoa (which helps). In short, the javascript is very fine, probably one of my favorite language because of it's flexibility. But it does lack of structure. For example there is no class in javascript and you have to trick with object inheritances, prototyping and so on. By using the Cappuccino framework at first you have all those very convenient facilities but also you do not reinvent the wheel each time. This is cross browser standardized so that you only have to focus on your code and not on the IE whims. As it is based on cocoa, cappuccino also comes with the MCV scheme in mind which again let you structure your project in an efficient way.
Ok you probably already know all this. What I could tell now about the learning curve is that I had to find the right tools to really get in. i.e.Installing cappuccino (sudo Starter/bootstrap.sh), creating a simple nib application (capp gen -t NibApplication YourApplication) then using xcodecapp-cocoa to listen, convert and open the project into Xcode what probably the hardest part of this learning curve to me…
Now if you are still not satisfied with cappuccino, I can only suggest to look at another framework like http://javascriptmvc.com/ , www.grooveshark.com used it to do their amazing webapp-site but I personally would never go back to html for building a web application. (conversely I would not use cappuccino for a webpage neither, "The cobbler should stick to his last")
I began writing cappuccino a couple of months ago and had a lot of difficulty when it came to setting up the proper development environment. I also had numerous problems writing working client server code that worked well.
I eventually broke through and started doing better with Cappuccino and then I found these video tutorials that would have helped so much earlier on. They did cost me $30 but I really wished I had watched these at the start because they help you get set up properly as a developer and get you started on the right learning curve.
I actually discovered these videos when using Cappuccinos IRC which has helped me a couple of times when I couldn't find an answer.
Info on the videos here: http://cappuccino.org/discuss/2011/10/19/cappuccino-training-course-ideveloper-tv/

Designing a iPhone application

I am into designing a new iPhone application. My application is will contain almost all iPhone SDK concepts including core data, server integration, location services. Is there any design decisions I should keep in mind?
My plan was to go by designing a controller class for each iPhone app screen and also any utility classes to be used. Any guidance will be really appreciated.
I forget who said this first, but it goes like this: The first project you do in any new technology will probably be very bad!
This is similar to these sage words from Fred Brooks - "Plan to throw one away; you will anyway"
So the best way is to wade right in, get dirty, light up the dark corners and learn what works for you. Then you'll most likely have some very specific questions based on your experiences!
This is a tough subject to talk about generally. Design approaches that work for some will fail for others.
It would probably help to know more about what you are trying to do. For a counter-example, I'm working on a game. I create an OpenGL context and from that moment on I'm managing assets like shaders, textures, mesh data, sounds,... . The way I've designed my project will pretty much be useless to you.
However the best advice that I can come up is to really figure out what you are trying to do. Create mockups of your GUI and document workflows. Do sketches of GUIs. Become an expert in the domain in which you want your application to work. Develop a deep understanding of what you are trying to do.
Once you have the GUI figured out, start working on the other end of the Model-View-Controller approach - figure out what data you need in order to provide the GUI that you've designed. Not all data structures are equal. What's the best data design for the domain you're working on?
Once you have the view and model figured out you need to glue everything together with controllers. There's lots of trick and traps here. Do you use threading to prevent the GUI from blocking? Do you make direct calls to objects or do you decouple and use notifications?
But this is the public appearance of your application. You might want to track usage data - consider what you wish to track and append that to your design. Errors happen, so think how to approach them.
However, it's hard to be more detailed without more details than what you've provided. Every application has it's own quirks and gotchas. It's nearly impossible to talk about this in a general sense.