Xcode 4 was previewed at Apple's Worldwide Developer Conference this summer. The company just recently released a fresh private beta of Xcode 4 to all of its developers. The newly revamped workflow helps developers organize the code and supporting files that make up the applications they ship for Mac OS X and iOS devices, integrates graphical interface layout tools with coding windows, and incorporates document version control to track changes over time.
Appleinsider featured the major new changes in Xcode 4 when it first arrived. Developers note, however, that the resources Apple is pushing into its development tools, in large part due to the wild success of the iPhone App Store, will make it easy for the company to reuse its efforts to deliver solutions for parallel development tasks.
One example of how the company's significant investments in creating Xcode 4 could be applied is in shipping a web development tool aimed at creating HTML5 content for the web and for use within web-based tools such as Apple's iAd mobile advertising program, digital books and web apps targeted at iPad, and its iTunes LP and iTunes Extras content.
Much of the dynamic interactive content now being created for advertising, digital publishing, or media bonus content is built in Adobe Flash Professional, simply because Adobe has delivered the graphical tools intended to help designers to create such content without having to manually edit the web's HTML, JavaScript and CSS files. Adobe has been relatively slow to embrace HTML5 however, only adding basic support to its Dreamweaver web development tool.
If Apple leveraged the Xcode 4 work it has already completed (and has paid for as part of its investment in fostering iOS App Store and Mac software) to target HTML5 development, it would propel the company past other fledgling efforts to serve the tremendous latent demand for an integrated web development tool, and could establish the company as a premiere source for web creation tools.
On page 2 of 3: This all happened before.
The idea of Apple using its existing software to expand into new areas is nothing new. Apple filled a huge vacuum for native Mac OS X productivity tools with Keynote, purportedly designed in large measure to allow its chief executive Steve Jobs to create presentation slides.
The look and feel of Keynote was subsequently expanded with the Pages word processor and Numbers spreadsheet to deliver a suite of iWork apps. Apple just recently the suite ported to the iPad, where it now serves as the top selling productivity tools of what is now an iconically popular new tablet.
Apple has similarly built a suite of lifestyle apps in iLife, designed to create a digital hub for creating photos, movies, web pages and music designed to sell Macs. The company then reused the overall interface for its GarageBand music application to deliver Instruments (below), a development tool based on top of Sun's DTrace, a comprehensive dynamic tracing framework.
Instruments leveraged the time scrolling interface of GarageBand to make it graphically intuitive to monitor the performance of processes over time, their resource consumption, and so on.
A third application Apple created and reused was iTunes itself. While distributed for free, iTunes was financed by the popularity of the iPod. Apple's success in selling iPods resulted in liberal investment in iTunes, enabling the software to quickly outpace the company's other apps in sophistication and utility. The most notable contrast in good and bad software at Apple may have been iTunes versus the Finder.
By the time Apple shipped Mac OS X Leopard, the overall interface of iTunes was so refined that it made sense to simply reuse most of it to create a new Finder in order to replace the lagging cruft that had been lingering since the release of Panther. From the new Finder's device, places and search listings to Cover Flow icon browsing, the Leopard Finder was able to get a major refresh by simply reusing much of the word created for iTunes.
On page 3 of 3: Xcode for web content.
Xcode 4 borrows from iTunes as well, from its content listings down to its faux-LCD display that presents status updates and progress feedback. The new development tool also presents some novel new elements, such as directly actionable path listings called the Jump Bar, which will likely find its way into other apps, including a future Finder.
Other integrated features, including support for browsing documents in Time Machine-like version control or the ability to compare the content of two documents, would also make sense to add to the Finder or to a new, standalone rich editing environment. And the most likely business model to target such an integrated document management tool at is the web.
Xcode 4 also integrates the graphical layout features of Interface Builder with its text-oriented programming tools. Apple already ships Dashcode (below), a tool intended for graphically creating Dashboard widgets and simple web applications targeted at Safari or the iPhone or iPad.
By similarly integrating this graphical tool into an Xcode 4-like environment (below) for building web content, the company could offer a strong rival to Flash Professional intended to build standards-based web content, without having to undertake a massive investment in building such a tool from scratch.
63 Comments
This is why Apple uses Objective-C - to make code reuse easy. In many cases, the code being reused is code that has become part of the OS for all developers to reuse.
I guess I'm looking for a programmers review of Xcode 4.0. How does Objective C compare with Java and C#. What's new between Xcode 4.0 and Xcode 3.2 besides the interface changes. Are there any new coding paradigms in Objective C or is it all good. Beside C/C++ and Objective C does Xcode support other languages (e.g. Java, Rudy, PHP, etc.). Those are just some things I'd be interested in since I haven't used Xcode 4.0 before and plan to soon.
I'm used to Visual Studio and C/C++/C# on Windows. I'm hoping Objective C as much a pleasure to code in as C# if not better. It appears Xcode 4.0 is along the way of ease of use as Visual Studio.
Does Xcode 4.0 ship with built-in source control or can it easily plug into some free version out there (subversion)?
Well isn't that special! Those boys at Apple come up with the darndest things.
> Developers say it could also signal a new push into Adobe's territory
File this under "D" for "Duh". Why else would Apple sit on the release of SDK4 until the day before the release of Adobe CS5 if not to maximize the damage to that product?
Only a rube would believe SDK4 just happened to be finalized on that day. Everyone else is trying for the highest bounty in the Valley right now: getting a copy of that internal Apple memo....
Xcode is a suite of tools for developing software on Mac OS X, developed by Apple. Xcode 3.2, the latest major version, is bundled free with Mac OS X v10.6, but is not installed by default. Instead it must be installed from the Mac OS X DVD, or downloaded from the Apple website.
mardi gras masks