Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > how to begin new app?

how to begin new app?
Thread Tools
zanyterp
Mac Enthusiast
Join Date: Apr 2003
Location: manticore or people's republic of haven
Status: Offline
Reply With Quote
Dec 14, 2005, 04:59 AM
 
i have an idea for an app that i would like to try, however i am not sure if the best approach is to do the code (backbone) first, the GUI first, or if they are something that are developed together?

at school we are learning with C#.net using VS.net (also learned java and c++ with vb.net to come soon) and i know with that paradigm, apps that use a GUI develop both the GUI and the code simultaneously. i went to do the same with xcode, and noticed that the GUI builder (IB, right?) is not integrated in the same manner as VS.net is.

is there an approach that is "best"? or is it a programmer-by-programmer preference and what is needed for the application?

thanks!
( Last edited by zanyterp; Dec 14, 2005 at 05:33 AM. )
some people are like slinkys: they don't do much, but are fun to push down stairs.
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Dec 14, 2005, 03:28 PM
 
This is kind of a topic of debate. For instance, bottom-up encourages you to separate interface from implementation. On the other hand, a top-down approach focuses more on what's important to the user.

http://c2.com/cgi/wiki?BottomUpProgramming
http://c2.com/cgi/wiki?TopDownProgramming
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
szymczyk
Fresh-Faced Recruit
Join Date: Aug 2005
Status: Offline
Reply With Quote
Dec 14, 2005, 05:12 PM
 
Originally Posted by zanyterp
i have an idea for an app that i would like to try, however i am not sure if the best approach is to do the code (backbone) first, the GUI first, or if they are something that are developed together?
In most cases, especially if you're writing the app in Cocoa, you want to do the GUI first. The beauty of Cocoa is that you can do a lot of things in Interface Builder instead of writing code. You can build a prototype for your app in Cocoa without writing much code.

The case where you would want to write the code first is when the application revolves around a programming task. Suppose you wanted to try to write an application to convert files from one type to another. You would want to write the file conversion code first to see if you could convert the files. Once you had the file conversion code working, you could start creating the GUI.
Mark Szymczyk
Author, Xcode Tools Sensei
http://www.meandmark.com
     
zanyterp  (op)
Mac Enthusiast
Join Date: Apr 2003
Location: manticore or people's republic of haven
Status: Offline
Reply With Quote
Dec 14, 2005, 05:49 PM
 
thanks szymczyk.

just to make sure i do understand correctly, if you want interaction from users it can be better to build the GUI to make sure the interface/prototype looks good. if there is more background happenings/less user interaction, it can be better to write the code first to make sure it works and then bind in the GUI, right? (at least right ish?)

thanks!
some people are like slinkys: they don't do much, but are fun to push down stairs.
     
szymczyk
Fresh-Faced Recruit
Join Date: Aug 2005
Status: Offline
Reply With Quote
Dec 15, 2005, 05:51 PM
 
Originally Posted by zanyterp
just to make sure i do understand correctly, if you want interaction from users it can be better to build the GUI to make sure the interface/prototype looks good. if there is more background happenings/less user interaction, it can be better to write the code first to make sure it works and then bind in the GUI, right? (at least right ish?)
In general, yes you're right.
Mark Szymczyk
Author, Xcode Tools Sensei
http://www.meandmark.com
     
MadBrowser
Dedicated MacNNer
Join Date: Aug 1999
Status: Offline
Reply With Quote
Dec 16, 2005, 02:26 AM
 
Honestly, I find the best way to start an app is on a piece of paper.

I sketch out (by hand) all the screens and go from there. The quickest and easiest implementation technology I know of.
     
Kristoff
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status: Offline
Reply With Quote
Dec 16, 2005, 11:29 AM
 
Do yourself a favor and use UML.
Then stub out the app using interfaces (if your using Java) or whatever the OBJ-C equivalent is.
If there's a GUI, design that up front to, but it should flow directly from the USE CASES derived in your UML model.

Then, the rest is simply details.
signatures are a waste of bandwidth
especially ones with political tripe in them.
     
cla
Mac Enthusiast
Join Date: Mar 2000
Status: Offline
Reply With Quote
Dec 17, 2005, 01:49 PM
 
Originally Posted by Kristoff
Do yourself a favor and use UML.
Any tools for this on a Mac you recommend?
     
zanyterp  (op)
Mac Enthusiast
Join Date: Apr 2003
Location: manticore or people's republic of haven
Status: Offline
Reply With Quote
Dec 17, 2005, 02:35 PM
 
is UML used in the real-world a lot? we used it a little in classes, but it wasn't my cup o' tea. should this be something i get used to and learn how to do efficiently and effectively for my future as a programmer?
some people are like slinkys: they don't do much, but are fun to push down stairs.
     
Kristoff
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status: Offline
Reply With Quote
Dec 17, 2005, 11:02 PM
 
UML is used anywhere where they are serious about software design.

I've used it at every place I've worked, so I'd recommend learning to use it.

Once you understand it, it really helps you find the flaws (and there are always many) in the initial requirements--which saves tons of time/money down the road. Just as you wouldn't build a house or building without blueprints, so you should not build software without blueprints.

Can you imagine building a house without plans? If you just stood there with the framers and a bundle of lumber and proclaimed "I know how I want my house, so let's get busy!"

The result would be a mess. And even today, production home builders don't even "stick build" houses anymore, rather they are designed, and built in yards and wall sections and engineered trusses are dropped at the site where the framers are able to frame a 2,900 square foot house in a matter of days--with minimal error.

While you will only build your app once, you still have to maintain it, and believe it or not, well designed modular code can be re-used in different applications.

Anyway, there are many tools out there, so look around. Argo and Poseidon have free ones that should work on the mac.
signatures are a waste of bandwidth
especially ones with political tripe in them.
     
   
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 02:10 PM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,