Slashdot Mirror


Apple and Independent Developers

Corleone writes "We've seen a realization recently that Microsoft isn't standing still with Longhorn, and countering Longhorn has been pushed to the forefront. That is why I found the concept of Apple being the larger danger in Rhapsody in Yellow so ironic. The author skirts the scary question: would Apple porting their frameworks to Linux give them undue influence over the direction of the free operating system movement? This is after recent reports saying missing programs are the biggest thing holding Linux back on the desktop. Macromedia has interest in their tools on Linux, surely many others are too. This would seem to allow thousands of companies a simple path to the Linux market but with Apple as the gateway. If not Apple, what of Microsoft porting their engine?"

7 of 395 comments (clear)

  1. The biggest problems with Cocoa by coolsoldier · · Score: 5, Insightful

    I develop with Cocoa on OS X, and while it's is remarkably easy to program in once you're used to it, it's more than a little, shall we say, messy.

    The classes contain endless numbers of "convenience" functions that don't really belong where they are. Witness that the STRING class has methods like stringByAppendingPathComponent, and similar other functions that should be in a separate class for paths. Meanwhile, Attributed strings do not respond to any of the standard string methods, although they do respond to methods to do things like load RTF files.

    The problem is that Cocoa is not straightforward enough to be easy to program in without an intimate familiarity with the API. It's just too different from anything else out there. Now that I'm used to programming in it, I can develop an application faster than I ever could with windows APIs, but the learning curve makes it difficult.

    The other thing about Cocoa, which the article doesn't quite get to saying explicitly, is that the design of the API itself actually makes it very difficult to get apps to the mac from other platforms.

    Cocoa is designed to be easy for porting applications to other platforms. But you can't port applications to other platforms because Cocoa isn't available for other platforms. What Apple needs for their existing strategy to work is an API that is easy to port existing programs to. They sort of have this with carbon (hence why most applications that get ported from windows are written using carbon APIs), but they don't take advantage of a lot of features (like system services, and automatic spell checking) that only work with Cocoa programs.

    It would be nice if Apple would port their APIs (or at least support something like GNUStep), but if they won't, then they need to make their "strong" API something that can easily be ported to. There are oddities in Cocoa that make incorporating code from anywhere else almost impossible.

    In short, Apple's programming tools and their corporate strategy are incompatible. The article frames this as a problem with Apple's strategy, but it could just as easily be seen as the tools not fit for the job. Apple started out with Rhapsody to try and make the mac the premier program for development but somewhere in between changed their focus to getting existing software to the mac. Unfortunately, they didn't change the tools to match.

  2. Re:Apple Success by int69h · · Score: 5, Insightful

    How exactly does Apple owe any of its success to Linux? Steve Jobs was in the Unix market before Linux was even a glimmer in Mr. Torvald's eye. Also , let's not forget Apple's previous Unix, AUX, or the fact that OSX IS BSD! The do however owe alot to the Opensource community. (Apache, FreeBSD, GNU, etc.)

  3. Re:Developer-friendliness by Anonymous Coward · · Score: 5, Insightful

    Hmm...no sign of a developers tools CD in my XP pro box, but in my panther box...aha, there it is! My _free_ developers tools.

  4. Re:What about GNUstep? by jcr · · Score: 5, Insightful

    Objective-C literally takes about 5 minutes to learn.

    Well, I wouldn't go quite that far... When I've presented cocoa intro classes, I've generally covered the basics of Objective-C in a one-hour lecture.

    My experience in learning Objective-C was that it took me about a day to be productive with it, and within a month I was an Obj-C language lawyer. Most people I've seen taking up Obj-C for the first time have a pretty good handle on it in about three days.

    As for GNUStep, I'd say it's a commendable effort, but an unfunded volunteer project is always going to have difficulty tracking an API that a Fortune 500 company has under active development.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  5. Re:Developer-friendliness by SJ · · Score: 5, Insightful

    You should clarify the fact that "Microsoft bends over backwards to help developers."

    It should have read "Microsoft bends over backwards to help developers that do not occupy a space that Microsoft wants."

    Look at how much MS shat on Real, Netscape, Apple, Citrix, Corel and god knows how many other companies because they were in a space MS wanted.

  6. Re:Apple by Trurl's+Machine · · Score: 5, Insightful

    It's also an up and coming userbase though. Linux is growing very quickly among the younger crowd and getting them interested in macintosh software is a good way to increase their userbase down the road.

    It's also a "down-with-IP", "information wants to be free", "I don't want to pay for watching this movie", "I don't want to pay for this song", "down with even the most liberal forms of DRM" userbase.

  7. Disruptive technology by scottyboy · · Score: 5, Insightful

    Oddly enough, I reckon the disruptive technology on Mac OS X won't come from Apple - it will be C# and Mono... more specifically the PPC JIT. Give it another year and you'll start noticing quite a few .NET apps running on Mac OS X.

    Cocoa is a great technology, but it isn't agile enough. By that I mean that it's more monolithic application/client oriented, wheras the .NET framework blurs the boundary between client and server, or native app vs. sandboxed web app. vs ASP.NET web pages. Furthermore the C# developer base is growing rapidly.