Nougat development on windows

I’m getting very interested in using Oxygene and Nougat (you’re going to rename this to Oxygene for iOS when it’s released, right?) to do mobile development for android and iOS. I’m still a little puzzled on exactly what the current and final situations are for developing on Windows, though.

It seems like I can code my iOS app in Nougat on Windows, compile it, sign it and upload it to Apple. But it appears I still need a Mac to do any kind of debugging. Is that correct? Is that expected to change anytime soon?

To me, the Mac having to be in the chain is a big downside. It increases complexity and I’d love to do away with it.

As for your first question, yes, the final product will be called “Oxygene for Cocoa”, Nougat is just the codename.

With Oxygene, you can do your entire development on Windows, but a Mac will be needed for some of the build steps. This is all handled in the background for you, with a little helper service you install on your mac once, And Oxygene in Visual Studio handles all the rest — you press Build on Windows, and after a few seconds you have the final .app on Windows, and you also see it started up on your iPhone (or in the Simulator on your Mac).

FWIW, there will never any way to do this entirely without a Mac, as Apple requires their Mac-side tools to be used to sign the application, for iOS device deployment — this is a legal and technical requirement right now. So this isn’t something that “we just didn’t bother or couldn’t figure out how to make better”.

FWIW, you will notice that in practice this runs really smoothly, and you hardly notice that things go over to your Mac and back. It’s not like we’ll make you copy your .exe over and run command lines on it, it’s all streamlined.

Thanks for the comments. This does make it clearer. I was under the mistaken impression that you didn’t need a Mac to compile iOS apps under Delphi.

I’d rather avoid it, because in my experience there’s ALWAYS something to break on any computer (HD goes out, battery starts acting wonky, some weird problem with that OS that only seems to affect you and a handful of other people, etc.) and I was loathe to add another bit of potential breakage. But as you describe it, not much choice.

Doing some research, it seems like all the Xcode stuff is free now when you pay for an apple dev license. Is there any other software you need to purchase other than nougat? What’s the cheapest hardware you think would be needed to work with this without inordinate slowness - a used Mac Mini? Any recommendations on which version of the OS or what the minimum processor/memory should be?

Pivoting the question slightly (since I’m interested in this both for personal projects and as a suggestion for the company I work for) - what kind of setup works best for multiple developers, say three or four all compiling apps simultaneously, though maybe not always everyone right at the same time? Could we get one box and have multiple people using it or is that just doomed to end in tears?

One option for not buying your own Mac (yet) is to use a service such as macincloud.com. Although that won’t let you attach an iOS device ;).

Xcode is completely free, you do not even need to pay for the developer program. You only need to do the latter to be able to build and test on physical devices, and to put apps on the store.

There’s no other software you need, aside form Oxygene itself.

As for hardware, the smalles current Mac mini should do. Any recent Mac OS X will do, but i recommend Lion or better Mountain Lion (any new mac will have that anyways). RAM and other specs should not matter much. iirc even the smallest Mac mini comes with a decent 4GB now.

One Mac shared by several developers is fine, our mac-side helper is designed to handle that. One restriction is that only one iOS Simulator can run at once on the Mac. But you could be entirely fine with two developers, say, testing separately on two iOS devices connected to the Mac mini that sits between them.

Physical proximity to the Mac’s USB ports will be more limiting than any real technical factor :wink:

—marc

Right, just invest in really long USB cables. :smiley:

Thanks again for all the answers. Looking forward to Oxygene for Cocoa.

Oh, and they totally should have codenamed it “Marshmallows”!

we’ll save that for the next one ;). There were several factors that influenced the Nougat name, for one, it being chocolate based, and for another that it’s the same character length as Echoes and Cooper, as those three names will live on internally forever to reference the three different targets.

Marc,
There were several factors that influenced the Nougat name, for one, it being chocolate based
only German nougat is based on chocolate, the real nougat is without chocolate.
Nogat on Wikipedia.
Patrick

I wasn’t aware that " german" and “real” were opposites :wink:

Ah, I could never get the reason for Nougat as a name. I just figured it wasn’t related to anything. Now that I know there is a German nougat that is chocolate based, it makes more sense.

Hi jpierce,
I am using a 2010 Mac mini with a 2.4 GHz Core 2 Duo processor and 2 GB of RAM. It works fine – though a bit slow – so any Mac with these specs or better would be a good choice.

Thanks for the datapoint, bprothero. Are you running the entire Nougat IDE and everything on this mini, or running it on a separate PC and just having the Mac do the necessary “has to be done on a Mac” part using the helper service?

I run Visual Studio 2012 with Oxygene Nougat on my newer i7 PC and only use the older Mac mini to create the iOS UI and to finish building the .app file that is then displayed in the iOS simulator (the “has to be done on a Mac” part of the build process).

If you want to run Oxygene in a Windows VM on your Mac, then I would recommend more memory and a faster CPU. I would at least upgrade the RAM to 4 GB and preferrably 8 GB or more.

The current entry level Mac mini model for $599 has a 2.5GHz dual-core Intel Core i5, 4GB DDR3 memory, 500GB hard drive, Intel HD Graphics 4000 and OS X Mountain Lion. The i7 model with 1TB hard drive is $200 more. If you find the 4GB is not enough RAM, you can easily upgrade the mini yourself to 8 GB or 16 GB for less than Apple’s RAM prices.

I am thinking of buying one of the Macbook Air or Macbook Pro laptops for a few hundred more so I can be portable and code on it if I like.

Don’t really want to have to use a mac if I can help it (just lots of potential timewasters since I’m not thoroughly familiar with it like I am PCs). Didn’t think of the lack of portability, though. Shame.

Anyway, when you say “to create the iOS UI” - is this something you can’t do within Nougat?

You create the objects in code using Nougat on the PC. The visual layout using drag and drop and linking the controls to the event handler is done on the Mac side using the same objective-c / xcode compiler IDE. It is easy to design the UI on the Mac though it takes some getting use to if you are accustomed to the Delphi way of creating forms.

Here are some videos that show how to create an iOS app:

http://www.remobjects.com/tv/oxygene.aspx?video=oxygene-23-nougat
http://www.remobjects.com/tv/oxygene.aspx?video=oxygene-24-storyboards

mh - Is this GUI layout part something Nougat is also not allowed to do? I have to say, it seems a bit less appealing to me to have to develop so piecemeal.

it’s not a question of “being allowed to”. We want you to be able to use the official and proper designers and controls provided by Apple. It’s a explicit design choice — this is how UI should be done on Mac and iOS.

Okay, I respect your point of view but it really differed from what I was hearing before in the vein of “we do everything but what we’re not legally and technically allowed to.”

I don’t see the contradiction. Oxygene is a language designed to let you use the underlying frameworks as close to the metal and as natively as possible. On Mac/iOS, these frameworks, for UI, center around XIBs and Storyboards.

The contradiction was only in answering my original question. I was trying to find out what part of the development the Mac was required for. Your answer only mentioned “build steps.” You said “you press Build on Windows, and after a few seconds you have the final .app on Windows”. That’s kind of leaving out a big part of the development if you also need to be doing GUI development on the Mac.

Again, no hard feelings. I think maybe you just misunderstood my question or maybe I didn’t put it well. Thanks again.

The more I think about it, the more it doesn’t make sense for a team working on an app to do anything other than use Macs themselves. Even a one-man development project seems like it’d be a bit more onerous. I was hoping Nougat could avoid some of the “pound of flesh” requirements that Apple have managed to build into iOS, but it appears not. Will have to ponder this further.