Applescript Studio & XCode 4

It is possible to develop applications in Applescript Studio with XCode 4 the way you can with XCode 3, or is that a thing of the past?

No, you can’t do it with Xcode 4. You need to use AppleScriptObjC.

So what about those of us who still have entire applications we support written in ASS?

Is it possible to run XCode 3.2.6 in Lion? Preferably as well as XCode 4? If so, how?

You will probably have to do it on a Mac running Snow Leopard and Xcode 3.x, or earlier. And it’s probably a good idea to start thinking about porting them to AppleScriptObjC.

It is not officially supported, although some people report success so far. But you can’t install it; you need to have a Snow Leopard system with Xcode 3.2.x installed in other than the default location, and then upgrade it to Lion.

Thanks, Shane. I figured as much. Staying on SL is not a very viable option; if it is at all possible to run XCode 3.x and XCode 4 concurrently on Lion, and still be able to support my ASS apps with XCode 3.x, a proven working procedure would be quite helpful. (Can I just rename the /Developer/ folder on SL to something else, upgrade to Lion, then install XCode 4.1, for instance?)

I realize you wrote the book on ASObjC, which I’m sure is great. But I wonder why anyone would bother instead of just jumping right into Obj-C? Especially given how little commitment Apple had to AS Studio from the beginning.

My ASS apps are far too complex to simply port; they’d be group-up re-writes anyway. For most of them it would never be worth the trouble. I want to continue supporting them with the existing code base as long as possible.

One more thing I’ve been wondering: is it even possible to submit ASS apps to the Mac App Store? I asked this in another thread but got no specific response.

Thanks for your help.

At this stage the definition of proven is pretty slim.

The reports I’ve seen suggest using “sudo mv…” to do it, but maybe that’s because they’re terminal users by preference.

Which way you go depends on a lot of factors. If your app involves AppleScript anyway – so it drives other apps by scripts – ASObjC makes a lot of sense. And really, I think that’s what both ASObjC and Studio were designed for: to build interfaces for AppleScript scripts.

Of course lots of people who know AS took to Studio and wrote apps that had little or no use of AS to drive other applications. That’s fine – they weren’t using the best tool for the job, but they were using the one they knew how to use. But that wasn’t its intended role, and it always had shortcomings for use in that role.

In a sense, using ASObjC is no different. it’s still an AS-based solution, which makes it easier for those who know AS. Yes, you have to learn a lot more about how to deal with Cocoa, and that inevitable leads to learning to at least be able to read some Objective-C code. But there’s a big difference between being able to read enough Objective-C to write ASObjC and being able to write decent apps in Objective-C.

Having said that, I suspect quite a few people will start out with ASObjC and eventually start using Objective-C, perhaps adding a class or two here and there to work around things, or adding open-source code. Some may even move completely to Objective-C. That’s great – but I don’t think you can suggest the time they spent learning ASObjC was wasted. I think it’s a great way to for an AS user to start to get familiar with the frameworks and how to use them, before trying to do it in a more rigorous programming environment.

But if you’re planning to write serious, and potentially complex, apps that have nothing to do with scripting other apps, then yes, bite the bullet and learn Objective-C (and C).

I know the transition is hard for Studio users. But there’s a fallacy in the argument that goes: this will be hard, why shouldn’t I just do something even harder?

In the beginning, the commitment was very strong. The problem, though, is that Studio was potentially a high-maintenance app: it needed continual work to stay up-to-date (and that didn’t happen). ASObjC is low-maintenance, and built on the scripting bridge that is used for more than ASObjC alone. In that sense, it encourages a bit more confidence about longevity. And if it did disappear, the job of porting to Objective-C would be a lot more straight forward than porting a Studio app.

Then I’d seriously suggest keeping a Snow Leopard (or earlier) Mac. Hunt around for something cheap second-hand.

I don’t know. But if it is, it won’t be for long.