|
Luxology was founded two years ago, when a group of computer 3D graphics programmers came together and set about developing 3D content creation tools. Modo, Luxologys first tool, is a native subdivision surface and polygon modeling tool with significant focus on workflow and technical advances. It is designed for artists in the film, television, print and gaming markets that want to apply the organic simplicity of real-time subdivision surfacing to their tool arsenal. Modo allows modeling of complex organic shapes as well as detailed industrial/mechanical objects with unparalleled speed. Xcode Tools Enable Rapid DevelopmentWhen we began development, we decided to use the Apple development tools, specifically Project Builder, because of its flexibility and the promise that Apple was working on a new development tool, Matt says. Were very happy now that we made that decision, because it made the transition to Xcode effortless. Four of Xcodes features are especially critical to our development process Zero Link, Predictive Compile, Fix and Continue, and Distributed Build. Zero Link links only the object code needed to launch the application, dramatically reducing the time typically spent linking and debugging. Linking is one of the most time consuming processes in the development cycle, says Matt. By doing the linking at runtime, Zero Link allows you to make code changes without needing to relink when you build. Predictive Compile is another Xcode feature that has sped up product development time for Luxology. In predictive compiling, says Matt, if I make a change in what Im doing that will require a recompile of other sections of code, Xcode will pay attention to my actions and start those other recompiles before Im done with my work. Because Xcode greatly reduces the turnaround time between implementing a new feature and testing the results, programmers can spend more time writing code as opposed to watching the compiler build it. With Predictive Compile and Zero Link builds take literally seconds, which means the speed difference Xcode offers over the previous development environments we have used is very significant. Another Xcode feature, Fix and Continue, allows programmers to edit their code, save the changes, and see the effects of those changes running live in the debugger. This creates rapid turnaround in debugging with results immediately available. I cant imagine life before Fix-and-Continue, Matt says. Also, Xcodes support for custom data definitions makes it easy for us to view our data the way we want to. While this may seem trivial, it actually turns out to be very useful and another productivity enhancer. The Distributed Build feature also saves development time. Xcode is Bonjour-enabled, explains Matt, which means that it can go search the network for available compilers and use them to build. This allows the builds of large or complex applications faster than is possible with any other development tool. The Environment Really MattersWhen you are spending fourteen hours a day programming, the environment really matters. Xcode makes that environment so much better to work in, and has really changed our approach to application development, Matt says. We have several developers who previously were working on PCs who have now switched to Macs just to use Xcode. Luxology finds the Xcode interface a big benefit, especially its consistent look. Apples standard left-side panes for manipulating data, just as in iTunes and iPhoto, make the learning curve for Xcode quite easy, says Matt. If youve used those applications, especially iTunes, you are already familiar with the organizational paradigm. Smart groups let us organize our source code in ways directly analogous to the smart playlists in iTunes. But the simplicity of this concept hides a very powerful way to organize and, most importantly, allows developers to find exactly what they are looking for in a very fast and efficient manner. Matt continues, As anyone who works on a programming team can tell you, quite often a developer finds himself looking for code someone else wrote. Xcodes powerful searching and indexing, along with powerful features like code completion and symbol browsing, make such tasks easy. Xcode is also able to include non-source files in any project for searching and editing, as well as processing them in what is called a scripting build phase as the first step in any build. One of the things that has always been a problem for us is the fact that some of our source files are generated from other files, says Matt. Doing this allows us to write code documentation along with the code and then have a utility program parse those files and generate the actual source code. Unfortunately, other IDEs that we have tried expect standard normal source files in their projects. So for us, Xcodes ability to manage hundreds of files, some of which are true C source files and some of which are metafiles that Xcode will use to generate yet more C sources, really makes it an ideal tool for our needs. All of which is yet another testament to Xcodes flexibility and power. Xcodes advanced debugging features and compatibility are also key. The debugging process also is far more efficient than anything we have used before, Matt explains. Being able to tweak a bit of code while debugging without terminating the program is an amazing productivity booster. Xcode is compatible with other applications, and contains built-in support for the Perforce configuration management system (CMS). This is the most popular CMS out there, says Matt. Now we dont have to leave Xcode to check code versions in and out. It makes our jobs much easier. Code Warrior data can also be migrated into Xcode easily, and Xcode supports Code Warrior-style project-relative references, simplifying the migration. Using Apple Tools from the BeginningWhen they started their development of Modo, Luxology liked using Project Builder in part because its flexibility allowed them to run a Project Builder front-end and a Perl script back-end for automated, overnight builds. It also leveraged GCC, the well-known Unix compiler, which can do complicated scripting and script building, and the Unix-based Mac OS X allowed the team to use command line tools when needed. This was a huge benefit for us, says Matt. We used Project Builder for a long time, and found a lot of unexpected benefits for example, the performance analysis tools that accompany the development suite gave us a tremendous amount of performance data so that we can really fine tune our application and find problems quickly. In addition, Matt explains, because we were using Apple tools, we inherited a longer lead time to optimize our application for the new G5 (the next generation, 64-bit chip architecture from IBM and Apple introduced in June 2003). The team finds Xcode to be a significantly enhanced version of the already useful free development tools suite from Apple. Xcode follows the tradition of more and better that we have seen with Mac OS X and its technologies, Matt says. I have constantly been pleased with the evolution of Mac OS X and its development tools. Matt continues, Building on the stability of Mac OS X and providing such a wealth of tools from Unix command line tools, to standard compilers like GCC, to the amazing performance tools, and now Xcode, Mac OS X is truly a developers dream platform. In the build-debug-change-build cycle, speed is critical for getting to market quickly with new products. Apple has sped up this entire cycle with Xcode. For more information about Luxology, LLC visit their website at www.luxology.net. |
We have several developers who previously were working on PCs who have now switched to Macs just to use Xcode. |
|
|