After using Dashcode for almost a year now, this is the bottom line:
“Don’t make any big projects with it.”
– A random Dashcode user
After a while, when the project gets bigger, you’ll have some 20+ Javascript files, thousands of lines of code, several data sources (which are great, btw), it gets really slow. First, basic things like moving controls to places starts to take time. Then saving the project becomes really painful, not even mentioning deploying the project. If you want to use undo, just forget about it – for some reason, each undo takes as much time as saving the project.
Then, debugger stops working. The Dashcode’s small embedded fake HTTP server can’t handle the simultaneous requests made by the main page to load all the scripts. You might circumvent this by making a script loader that somehow loads them gradually, one by one. I tried it but it didn’t work, instead started giving way more exotic error messages.
This is until the project grows even bigger and you reach the point where Dashcode crashes when autoloading your project.
It didn’t happen on Snow Leopard, though, so I guess this is some random incompatibility problem with OSX Lion. Even choosing the setting “Do nothing when Dashcode starts” doesn’t disable the autoload completely. This is probably because closing the big project on Dashcode crashes it and it reloads the last project when starting again.
I found a workaround for that:
- Open Dashcode
- Quickly press CMD-W when the project loads up
- Quickly press CMD-Q when the project is closed
- Open Dashcode again
- Open the project from the Recent projects menu
Handy and easy.
Another possible solution for this could be if someone figured out a way to include JavaScript files to the main page in a way that Dashcode wouldn’t understand them and wouldn’t load and parse the sources every time you open the project. I guess that is what crashes the editor.
Anyway, it’s a shame that it seems this program has been neglected by Apple for some time now. Hope they’ll get more active on it one day again.
Leave a Reply