Blog

25
February 2014

Gavin Pickin

ColdFusion Betas - Playing with ColdFusion Thunder

Tools and IDEs

With all the noise going on about ColdFusion going into Public Beta, I decided I should probably download the new version of Thunder and play a little. A lot of people are happy using Sublime, or a few other editors, but I have been using CF Builder for a while now, and maybe out of habit haven't really gotten into the other tools. Although, sometimes, builder just drives me mad, so I decided I would download the Beta and see what bugs might have been solved... and what other goodies have I been missing out on since I'm using the Free Express Version ( never bothered to upgrade ).

So far, I like it. Its a little cleaner, neater, the UI looks better, although its probably just the latest build of Eclipse or something, but still I like it.

One weird thing, when you are installing Builder, it asks you if you want to install the Bundled Server or not. This seemed a little strange, but then I heard on CF Hour's latest episode, where they discuss how Builder uses CF Server to bundle the Mobile stuff for you, so I guess this is why they bundle the CF Server with Builder, so you can easily access the parts of CF Server Builder needs for that piece of functionality.

Some might say that the Mobile Bundling shouldn't be a part of CF Server, it should be completely in Builder, regardless of what you think of that, it should be pretty nifty to be able to do a lot of the Mobile Workflow in CF Builder 3 (Thunder). Wait, did I just say I'm using CFClient? 

NO, NO I DID NOT

CF Builder will allow you to use whatever Framework you want, Ionic seems to be the new hotness, especially with the Angular flavor it has, so I should be able to work in Builder, and use Builder to send my project off to PhoneGap, do the debugging etc, all through builder. I haven't tested this yet, so I can't vouch for it, but it sounds interesting, even if it just saves me some command line work... although, with Node etc, I think everyone is getting more and more comfortable with the command line these days.

I did notice a few features I've been missing. I have been doing a lot of work migrating / fixing / touching up some legacy code. The last couple of days I have been integrating WireBox into my app, to handle my Dependency Injection and scoping my CFCs better, since a lot of the old code used cfobjects and cfinvoke to unnecessarily create multiple instances. To clean up this code, I used the Project Search Features, and one thing you do not get in the Express Free Version, is global replace... which is nice when you're changing hundreds of files (make sure you're sure of what you're replacing first though, and you have Source Control in place).

The other nice feature I didn't know I was missing, was when you search the entire project, and you pull up the file with the match found, you can expand the search node, and see all the occurrences, and which lines they are on in the file. In the Free / Express version, you would find all the matches, it would say index.cfm has 15 occurrences, you would have to open the file, and then Ctrl / Cmd F to bring up a find window (if the find window is open and you search, it would search the page the Find window was launched from, not the one you're on, annoying feature by the way) and then search through the file to find the occurrences, and then decide if you wanted to find / replace them or not, in each, and every file, separately.

So, whether I decide on moving to Thunder or not, it has at least helped me in my current project(s).

After using it for a couple of days, I found my first bug, checked the internet, and it looked like a fresh new bug, so I submitted it to the Bug Tracker. 
Its not a major bug in the terms of usability, but its one of those annoying ones. 

https://bugbase.adobe.com/index.cfm?event=bug&id=3713385

To save you the effort of clicking on a link, here is the Bug Description.

Title: Opening a Script CFC Component, comments break Syntax highlighting until you edit a Commented Line

Description

Problem Description:
When you open a Script CFC, any comments seem to break the Syntax highlighting. Everything below the first comment are not highlighted correctly. When you the first comment line, it seems to re-parse and it is ok from then on out.

Steps to Reproduce:
Just Open a Script CFC and you'll see that everything below the first comment has no Syntax Highlighting. 

Actual Result:
You open the file, and syntax highlighting is broken from the first comment, like its an error in the file.

Expected Result:
The CFC opens and the whole CFC has syntax highlighting, and comments are highlighted etc

Any Workarounds:
You have to just edit one of the comments, and then Builder re-parses the entire CFC and works correctly after that.

After editing the line

Abram Adams tweeted me after I posted the bug and said it is a known bug, and was fixed, but obviously it didn't get fixed in the Beta Build... but go Vote it up, so they do fix it.

I'll let you know if I find anything else interesting from my playing with Thunder, but so far, seems stable (always a worry with Betas), and haven't had any issues.

Tomorrow I might test some of my Bugs / Issues with CFB2, and see if Thunder fixes them or not. They are Unverified at this time, I guess it takes them a year to triage Builder Bugs as well as Server Bugs.

Thanks for reading,

Gavin

by Andrew Scott
02/26/2014 03:29:09 AM

Yes the new look is the latest eclipse, the same as the search feature is an Eclipse feature that has been there since the Eclipse 1.0 days.

The best thing Adobe have done here is ditch Aptana, this was killing the product as a lot of the bugs I come across had been related to the Aptana libraries being used. Which I see a hell of a lot are now gone because of it.

I think it is also hilarious that savecontent requires a return statement in my code, not sure why but ColdFusion still runs it.

I don't think anyone is complaining about the IDE being what the I stands for integrated, what a lot of people are saying is that the mixing of CFML to do both server and client side is going to lead to major confusion to a lot of developers.

Blog Search