Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

WiiMarioHacker

macrumors member
Original poster
Apr 3, 2010
96
0
I am planning on creating an iApp (iPhone/iPad) development suite and would like some pointers. After getting the basics of an IDE, I'll try creating an app creator.

Thanks!
 
Well, I'd start by moving over to the iPhone/iPad Programming forum rather than this Mac Programming forum.
 
The first thing I would do is write a whole bunch of Mac OS and iOS apps to make sure I understood the scope of what I was getting into. You really need to be an expert at both if you want to create anything even close to Apple's tools.
 
Basically, the minimum you'll need is:
* A text editor
* A way to configure compile/copy resource steps (similar to the target/project settings in Xcode)
* A terminal interface to run gdb in, although an actual debugger front end would be much better
* A file browser
* A documentation viewer (a WebView will do fine here, but won't provide search)

For bonus points:
* A dependency analysis system to do incremental rebuilds
* A syntax coloring system (clang libindex would likely help a lot here)
* A code autocompletion system (clang libindex would likely help a lot here)

To do iPhone/iPad work in your IDE you need:
* Provisioning, signing, etc... support
* On-device debugging support
* The ability to run and debug the simulator

Unfortunately you're pretty screwed if you want to do a visual UI builder. If you do your own UI layer, that'll probably run afoul of the recent restrictions in the iPhone developer agreement. So you'll need Interface Builder, or an Interface-Builder-alike tool that generates Cocoa UIs somehow... the xib file format isn't really documented.
 
In the weekend i've been working on my own i decided to start with the text editor and work my way up as i learn more php.

So as of today (started Friday past) i have:

Editing, saving, opening
file formats (PHP, HTML, CHTM, JS)
Line numbering courtesy of Noodle
And some basic syntax highlighting for PHP but i am working on the best ways.


Now when it come to programming a loop is a loop pretty much, there are a lot of differences between Objective C and the languages i am used to but things usually make logical sense once you read up about them.
 
Basically, the minimum you'll need is:
* A text editor
* A way to configure compile/copy resource steps (similar to the target/project settings in Xcode)
* A terminal interface to run gdb in, although an actual debugger front end would be much better
* A file browser
* A documentation viewer (a WebView will do fine here, but won't provide search)

For bonus points:
* A dependency analysis system to do incremental rebuilds
* A syntax coloring system (clang libindex would likely help a lot here)
* A code autocompletion system (clang libindex would likely help a lot here)

To do iPhone/iPad work in your IDE you need:
* Provisioning, signing, etc... support
* On-device debugging support
* The ability to run and debug the simulator

Unfortunately you're pretty screwed if you want to do a visual UI builder. If you do your own UI layer, that'll probably run afoul of the recent restrictions in the iPhone developer agreement. So you'll need Interface Builder, or an Interface-Builder-alike tool that generates Cocoa UIs somehow... the xib file format isn't really documented.

In the weekend i've been working on my own i decided to start with the text editor and work my way up as i learn more php.

So as of today (started Friday past) i have:

Editing, saving, opening
file formats (PHP, HTML, CHTM, JS)
Line numbering courtesy of Noodle
And some basic syntax highlighting for PHP but i am working on the best ways.


Now when it come to programming a loop is a loop pretty much, there are a lot of differences between Objective C and the languages i am used to but things usually make logical sense once you read up about them.


Thanks for all the pointers!
 
Basically, the minimum you'll need is:
* A text editor
* A way to configure compile/copy resource steps (similar to the target/project settings in Xcode)
* A terminal interface to run gdb in, although an actual debugger front end would be much better
* A file browser
* A documentation viewer (a WebView will do fine here, but won't provide search)

For bonus points:
* A dependency analysis system to do incremental rebuilds
* A syntax coloring system (clang libindex would likely help a lot here)
* A code autocompletion system (clang libindex would likely help a lot here)

To do iPhone/iPad work in your IDE you need:
* Provisioning, signing, etc... support
* On-device debugging support
* The ability to run and debug the simulator

A lot of developers would consider version-control essential.
 
Whats wrong with wanting to make stuff.
Even if its been done many times before there is still fun in making something work. I may be mistaken but there seems to be a dislike for people making things that have already been done.
 
Whats wrong with wanting to make stuff.
Even if its been done many times before there is still fun in making something work. I may be mistaken but there seems to be a dislike for people making things that have already been done.

I don't think it's a dislike, i think it's a desire to properly temper people's expectations. If you've never built anything in, say, Objective-C, and your first project was something huge like an IDE or an exchange client or something I see no harm in warning the person that what they are getting themselves into is going to be difficult.

-Lee
 
your first project was something huge...

Huge isn't even the right word. Many of the bullets on that list would be a huge project in-and-of-themselves for even a very experienced and brilliant solo developer. Writing your own modern IDE complete with app simulator, and interface builder on your own is such a massive project that the only thing that comes to mind is Monty Python's Ron Obvious.
 
I'm not poking fun at the OP in any way but this thread reminds me of the people on the gamedev forum who say things like:

"I have a game better then world of warcraft and I want to make it. Do I start with Microsoft C++ and 3D Studio Maya?"
 
I'm not poking fun at the OP in any way but this thread reminds me of the people on the gamedev forum who say things like:

"I have a game better then world of warcraft and I want to make it. Do I start with visual C++ and Maya?"

Though even if they only make a character run on a screen is that not worth it?
There is a joy to making things, even if there not complete it still brings joy.

I am building my own PHP Framework and IDE to go with it for the joy to making my own things, its not going to compete with Netbeans and Zend but it will be mine and it will be fun.

I get enough boring programming jobs to do that it is nice to spend some hobby time building something i've wanted to try building.

Same goes for this guys IDE while it is a dreadfully complex project to try to duplicate the functions of Xcode and co, it would still be fun to try.
 
I understand completely. I was just making a statement regarding similarities between the two sites. I do the same thing. I make daily (or weekly, depending on the scope) goals for myself and see if I can complete them by the days end.

Todays goal is making balls collide with each other realistically on the iPhone :D It will never be part of a game I made (at least I don't think so) but its fun to make that little portion and see it work and amaze others with it.
 
Huge isn't even the right word. Many of the bullets on that list would be a huge project in-and-of-themselves for even a very experienced and brilliant solo developer. Writing your own modern IDE complete with app simulator, and interface builder on your own is such a massive project that the only thing that comes to mind is Monty Python's Ron Obvious.

Brilliant comparison lmao
 
Good luck OP :) You have set yourself a very challenging task!

My advice: do lots of research, think hard about workflow, and most of all -- happy coding :D

Take a look at LLVM and it's related technologies lldb, clang etc. This is a modern compilation tool infrastructure. http://llvm.org/

Furthermore, if you're interested in web-based technology then there is a massive amount of innovation in this space; bespin caught my eye. https://bespin.mozillalabs.com/

Also, Qt Creator is a modern IDE which might be of interest. http://en.wikipedia.org/wiki/Qt_Creator
 
Take a look at LLVM and it's related technologies lldb, clang etc. This is a modern compilation tool infrastructure. http://llvm.org/

Based on the OP's boundless enthusiasm, I assumed he was planning on writing his own compiler suite. :)

Furthermore, if you're interested in web-based technology then there is a massive amount of innovation in this space; bespin caught my eye. https://bespin.mozillalabs.com/
Bespin is pretty cool, though, I grant you. Haven't paid it much attention since the devs left Google for Palm - must have another peek.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.