Greetings,
This is slightly off topic but I'm hoping some of the TextMate-Cocoa people here could help me.
I'm learning Cocoa programming and I'm not interested in using Xcode for my development. I prefer using Clang, Rake, Textmate, and Interface Builder. I know Allan and company development Textmate using Cmake instead of Xcode. I'm wondering how to run unit tests this way. Every OCUnit app tutorial I see assumes you are using Xcode. Anyone know how to set up unit tests manually via the command line? Once I see how it is done I can set up a Rake target/tasks to handle it for me.
Any other advice when developing Cocoa apps without Xcode?
Thanks in advance, Jason C
On Feb 22, 2010, at 2:19 PM, Jason Coffin wrote:
Greetings,
This is slightly off topic but I'm hoping some of the TextMate-Cocoa people here could help me.
I'm learning Cocoa programming and I'm not interested in using Xcode for my development. I prefer using Clang, Rake, Textmate, and Interface Builder. I know Allan and company development Textmate using Cmake instead of Xcode. I'm wondering how to run unit tests this way. Every OCUnit app tutorial I see assumes you are using Xcode. Anyone know how to set up unit tests manually via the command line? Once I see how it is done I can set up a Rake target/tasks to handle it for me.
Any other advice when developing Cocoa apps without Xcode?
I don't think that is a good idea for someone in the learning stage. I use Xcode for project management, debugger and the built-in Clang, and TextMate for everything else. Which basically means I am using Xcode for maybe a couple minutes a day on average (at least for a project with a well-established code base).
Unless you really know what you are doing, I'd think trying to do Cocoa development without using Xcode would be an uphill battle and end up costing you much more time than it will save you.
But I am looking forward to read other folks opinion, being that I use TextMate full time for Cocoa development.
Gerd
On Mon, Feb 22, 2010 at 4:02 PM, Gerd Knops gerti-textmate@bitart.com wrote:
I don't think that is a good idea for someone in the learning stage. I use Xcode for project management, debugger and the built-in Clang, and TextMate for everything else. Which basically means I am using Xcode for maybe a couple minutes a day on average (at least for a project with a well-established code base).
Unless you really know what you are doing, I'd think trying to do Cocoa development without using Xcode would be an uphill battle and end up costing you much more time than it will save you.
But I am looking forward to read other folks opinion, being that I use TextMate full time for Cocoa development.
Gerd
Thanks Gerd,
I'm going to take your advice and use Xcode for building/project management and stick with Textmate for editing. Maybe once I get more comfortable with Cocoa I will look into Xcode alternatives.
Of course, I'm still interested in others opinions.
Thanks!
On Feb 24, 2010, at 11:22 AM, Jason Coffin wrote:
On Mon, Feb 22, 2010 at 4:02 PM, Gerd Knops gerti-textmate@bitart.com wrote:
I don't think that is a good idea for someone in the learning stage. I use Xcode for project management, debugger and the built-in Clang, and TextMate for everything else. Which basically means I am using Xcode for maybe a couple minutes a day on average (at least for a project with a well-established code base).
Unless you really know what you are doing, I'd think trying to do Cocoa development without using Xcode would be an uphill battle and end up costing you much more time than it will save you.
But I am looking forward to read other folks opinion, being that I use TextMate full time for Cocoa development.
Gerd
Thanks Gerd,
I'm going to take your advice and use Xcode for building/project management and stick with Textmate for editing. Maybe once I get more comfortable with Cocoa I will look into Xcode alternatives.
Actually I use Textmate for building and running as well. I basically only switch to Xcode to add/remove files from the project, and for the occasional run where I need the debugger.
I replicate Xcode's group setup in the file system, and just pen the project folder in Textmate. That way the structure in both is similar.
Of course, I'm still interested in others opinions.
IIRC Allan uses Textmate exclusively for Textmate2 development. I think when you work for years on a single project with a fairly static setup that will work, but for general work I'd still prefer the Xcode/Textmate hybrid.
My absolute favorite feature is that all my log output shows up in Textmate's build panel with a clickable link, leading me directly to that place in code. All you need to do is make sure log output has a certain prefix (eg you need a custom NSLog replacement).
Gerd
Thanks!
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate
On Thu, Feb 25, 2010 at 2:58 AM, Gerd Knops gerti-textmate@bitart.comwrote:
My absolute favorite feature is that all my log output shows up in
Textmate's build panel with a clickable link, leading me directly to that place in code. All you need to do is make sure log output has a certain prefix (eg you need a custom NSLog replacement).
That sounds like an interesting tip for a blog post (hint, nudge, wink)!
I would second the opinion that it's probably smarter to keep Xcode for your project management tasks while you are learning. If you're working through tutorials or a book things will be much easier to follow along with, not to mention all of Apple's sample code.
I'm sure my setup is pretty simple but it basically amounts to me dropping the project folder on TextMate and using it for all editing/searching/navigating then switching to Xcode for build/run/debug type stuff. Getting familiar with the triggers for Cocoa and the general navigation aids is probably the most important thing to do. Command-T and command-shift-T are huge.
I too would be very interested to hear how others are using TextMate to eliminate trips to Xcode though.
Kevin LaCoste
On 22 Feb 2010, at 21:19, Jason Coffin wrote:
[...] I know Allan and company development Textmate using Cmake instead of Xcode.
I have since retired CMake and made my own build system which generates Makefiles (so effectively I am using Make, but with majority of the Makefiles being auto-generated as needed).
I can’t emphasize how much I love this system as I practically never need to do anything besides adding/removing files/folders, occasionally add some very light-weight “project files” — but this is my system made for me, and I went through many iterations to find my dream setup, so for most I would just echo Gerd’s advice of going with Xcode.
I'm wondering how to run unit tests this way. Every OCUnit app tutorial I see assumes you are using Xcode. Anyone know how to set up unit tests manually via the command line?
I personally use http://github.com/sorbits/CxxTest (my fork) — I did a “unix runner” so that it is silent unless there is an error, and if there is an error, the runner exists with a non-zero exit code.
This works great with Makefiles (so rake as well, I assume). But while it can be used with Objective-C, it probably mostly is for C++ (e.g. you would need to write traits to pretty print the Objective-C objects used in assertions).
Sorry I couldn’t be of more help…
On Thu, May 6, 2010 at 1:23 PM, Allan Odgaard mailinglist@textmate.org wrote:
I personally use http://github.com/sorbits/CxxTest (my fork) — I did a “unix runner” so that it is silent unless there is an error, and if there is an error, the runner exists with a non-zero exit code.
This works great with Makefiles (so rake as well, I assume). But while it can be used with Objective-C, it probably mostly is for C++ (e.g. you would need to write traits to pretty print the Objective-C objects used in assertions).
So does this mean that TextMate is primarily written in C++ rather than Obj-C?
On May 6, 2010, at 1:14 PM, Rick DeNatale wrote:
On Thu, May 6, 2010 at 1:23 PM, Allan Odgaard mailinglist@textmate.org wrote:
I personally use http://github.com/sorbits/CxxTest (my fork) — I did a “unix runner” so that it is silent unless there is an error, and if there is an error, the runner exists with a non-zero exit code.
This works great with Makefiles (so rake as well, I assume). But while it can be used with Objective-C, it probably mostly is for C++ (e.g. you would need to write traits to pretty print the Objective-C objects used in assertions).
So does this mean that TextMate is primarily written in C++ rather than Obj-C?
Funny, I wondered the same thing. I know TM1 has large C++ portions, but I thought that might have been just a holdover.
Personally I think C++ is devil's spawn...
Gerd
On 6 May 2010, at 20:14, Rick DeNatale wrote:
[…]
So does this mean that TextMate is primarily written in C++ rather than Obj-C?
Somewhat equal split: wc -l *.{mm,cc,h} → 20,595, 21,404, and 12,484.
There is probably an overweight of C++ in the headers.
Whenever I can stay in pure C++ I do so, which means pretty much all model code is C++, and I also have a cf (CoreFoundation) wrapper library that gives easy access to CoreFoundation stuff from C++ (where one would otherwise use Cocoa).
I like some parts of Objective-C and Cocoa is a nice framework, but I am growing less and less comfortable with it. Partly the verbosity and syntactic overhead of Cocoa / Objective-C, partly my growing dislike of frameworks (as opposed to libraries), and partly me wanting to rely as little as possible on Apple’s single-vendor technologies for reasons which in these times probably need little explanation ;)