Showing posts with label coding. Show all posts
Showing posts with label coding. Show all posts

26 April 2011

changing old habits

I have been doing a lot of development on my Cr-48 lately.  And as I sit here coding away I wanted to note how useful chrome is to me as a developer.  As I have written about previously there is a plethora of web-based IDEs to develop with in Chrome OS.  So what I have been finding particularly useful regardless of the development environment is something any chrome user (I'm talking browser now, not OS) can utilize...the Chrome Developer Tools.  Before I received my Cr-48, the majority of my browser based debug sessions lived in Firefox with the amazing and powerful tool Firebug, but thanks to Google I was forced to try something new.  I thought nothing else compared to Firebug (I am not going to speak out against Firefox or Firebug as both are spectacular), but as I have familiarized myself with the Chrome tools I find they are just as powerful and robust.  I love how easy it is to inspect an element on the page and edit CSS and JavaScript, check network events, record a timeline, or just drill through local variables in the console.  So if you are like I was, before you move from chrome to some other tool just to step through your JavaScript in the console, stop and give the Chrome Developer Tools a try, you might decide to stay.

09 April 2011

ShiftEdit web-based IDE

I have come to the conclusion that there is plenty of selection for online application development using a web-based development environment.  After trying out several online IDE's over the last few months I was asked by a reader to check out ShiftEdit.  I had read that this was an editor of choice for many on some of the Chrome OS forums where the question of what is used to develop on the Cr-48 usually shows up.  So I decided I would try out another IDE to get a feel for how it compares to others I have tried.


First off, bonus points for allowing Google (or Facebook) login.  After authentication, this feels like a desktop IDE similar to what I feel like in CodeRun, Cloud9, or Akshell (I usually test this by going full screen on my Cr-48 and say its good if it isn't obvious I am in a web browser).  Selection of file formats is diverse and allows for PHP, HTML, JavaScript, CSS, Perl, Python, Ruby, Java, or Text with built-in FTP support, which is nice for those who enjoy diverse development.  I tried to create a trivial web page and was pleased with the HTML editor with the exception of when I tried the split view (HTML and Design viewed at the same time) I found it hard to keep the focus on the HTML screen and ended up navigating away from the editor when hitting backspace to delete a <div>.  This is not a huge deal as I would likely not develop full time in split view.  


JavaScript editing is almost too full featured for my taste by default.  There is an auto complete feature that will auto close brackets in your code as you type.  I found that I was creating double closing brackets so I turned that feature off which was easy enough in the Edit -> Preferences menu.  However,  JSLint is a wonderful addition to any JavaScript Editor, and is fully configurable in the Preferences section (so if you don't like to be forced to use === instead of == you can allow that).


A feature that I've recently learned is important to me in an online IDE is allowing for multiple tabs to be opened at once.  ShiftEdit does this well. (I have been working a lot in Akshell for some recent development and the lack of tab support is nearly a deal breaker...along with the times when I log in and all the open files disappear and I have to select the current project again to restore the view).  There are many other features that I have yet to try in ShiftEdit which could be handy, though I'm not sure I'll try them out anytime soon.  Perhaps I will never need to utilize them.  


I have found I'm no longer sure what I'll be using as my web-based development environment (most likely a combination of many, just as I develop in a desktop environment).  I am fairly certain I have seen enough for now (of course if you have found "the best" one, let me know, I'll check it out) that I will be able to find the one (or two, or three) that suits my needs best.  Recently I've been trying all these IDE's out and sticking with the current flavor of the week only to later find out certain limitations or something that I preferred in a different editor.  This is no different than using a full featured text editor outside of Visual Studio for example to edit JavaScript or XML files because I don't particularly care for the way these appear in Visual Studio.  What I really need or want in a cloud-based IDE is still being defined as each one's limitations or offerings reveal themselves through  repeated use.

09 March 2011

RAD with WaveMaker

Yesterday VMware announced they had acquired WaveMaker.  I had not explored WaveMaker, but luckily the news exposed this wonderful development tool for me.  WaveMaker is a tool for Rapid Application Development (RAD) that is perhaps the worlds greatest WYSIWYG editor.  Not just WYSIWYG for HTML or page layout, but it can completely eliminate the need for Java coding and with its integrated data structure mappings with Hibernate it can easily integrate with any enterprise database.  The point is that anyone who is computer capable can write a fully functional web application and maintain it without the need for developer time.  As a bonus, there is integration with the big names in cloud hosting like Amazon EC2, Rackspace, Eucalyptus, and OpSource

I checked out the example videos and was amazed.  I was especially excited because I of course noted there was a cloud version available.   Of course the site is down for maintenance without any idea as to when service would be restored.  Being an avid user or Chrome OS on my Cr-48 I was extremely bummed.  So I decided to  cheat a little (its still browser based app development, however it required installing software) and I cranked up developer mode on my Cr-48 and entered my Ubuntu Linux boot.  I downloaded WaveMaker and kicked it off.  

Amazing.  I created a test project with one of the provided templates and started dragging objects onto my web page.  Styling is available at the click of a button, and wiring up events to buttons exposes so special handling can be added.  I can already grasp the power of this tool and I have not spent a whole hour in it.  I can imagine in the coming days and weeks as I get the chance to get more familiar with it, I will be even more amazed.  I am also excited for when the cloud.wavemaker.com site is operational again when the true power of being able to code an application in the cloud and even deploy to a cloud host like EC2 without leaving the comfort of the browser.

03 March 2011

Remotely Coding

A few weeks ago I wrote a review of some web-based tools to remotely control my PC from my Cr-48.  I have to admit that after spending a real work day remotely coding while using my Cr-48 to connect to my PC at work, the win has to go to LogMeIn.  I had thought I could ignore some of the minor issues of TeamViewer because I really enjoyed how simple it seemed, but the character mismatches from what I typed on this end to what resulted on my work PC were not tolerable.  So I think the results should really be that TeamViewer is a simple solution for perhaps remotely helping a relative with an issue on their PC, but for coding remotely, my vote is now entirely for LogMeIn.

02 March 2011

Coding in the Cloud: Part ?

"your Cloud9 beta account has been activated".  I had been anxiously awaiting this email (although one can sign up now without a wait period) to continue my quest to find the best coding environment for use with my Chrome OS on my Cr-48.  Cloud9 is another development-as-a-service platform that claims to be the go to solution to marry HTML5/JavaScript development with github and has received some decent reviews lately after  its presentation at DEMO Spring 2011.  So I had to login and get coding.

I followed the link provided and once signed in I was able to quickly create a new project.  I added an html file and a JavaScript file to create a simple "hello world" website to test how the cloud9 development environment worked.  I saved my work, then clicked "Preview" and my boring website was previewed in a new tab.  Everything was working well until I returned to my project files and decided I wanted to rename them from untitled.html and untitled.js to test.html and test.js.  Moments later as I was about the check out the "Run" and "Debug" options mysteriously the screen flashed and the files were once again named as the default "untitled".  I saved the project to return later and investigate.

So I signed back in to my account and saw my previously saved project and selected "Open".  This took me to the sign in screen only the styles were all gone and it was a bunch of blank screen with the login box.  I of course had to try again, and after repeating this behavior a few times I thought, "maybe this is because its a beta account".  So I created a new account and thought "at least I can get a test project started to my testing so I can do a good comparison of cloud9 with kodingen and coderun" but I was not able to create a project at all.  I tried to use the shared github project that cloud9 provides as an example and that to failed.

Apparently cloud9 is getting hit hard with tons of new users who are experience some issues similar to mine, at least according to some of their twitter posts.  I'll be anxious to get a real review of this cloud based development environment because in my brief time on the inside, it seemed very easy to use and elegantly constructed.

20 February 2011

Coding in the Cloud: Part II

Coding in the cloud is something I feel I need to be able to do easily now that I'm utilizing my Google Chrome OS notebook.  Last post I discussed utilizing an online development environment called CodeRun and found it to be quite useful, but it is not my favorite cloud development environment.  My favorite (so far) is called Kodingen.

Kodingen is "The Cloud Development Environment, Online Code Editor, Cloud Hosting, Web-based access to file system, Web-based ftp & svn integration" or at least it will be all of those things.  Currently Kodingen is in Beta v3 so not all of those features are available as of this writing.  Even though this cloud development environment is not fully operational it is still fantastic.  As shown on their site, there is code support for php, perl, and python [with future support of django, ruby on rails, fastcgi,...].  The site you create is hosted on Kodingen, and they offer a default 500mb of diskspace, 1000mb of monthly traffic, 1 domain, 6 subdomains, and 5 databases by default (of course you can "get extra resources").  So I set out to play around with Kodingen.

Setting up an account was easy enough, so I logged in an got to work.  I quickly created a website with an HTML5 canvas star field plastered on it all from the comfort of my Cr-48.  As far as code editor selection, currently there is support for Bespin, CodeMirror, and Ymacs.  I found that CodeMirror suits my needs best, though I might have been inclined to choose Bespin (probably because of its name), but it lacks good support for copy/paste in Google Chrome.

A couple features I have not utilized more than a simple evaluation are the database support and the image editing.  Creating a MySQL database was a snap (PostgreSQL, and SqLite support to come) so I created a simple database with a couple tables that seemed to perform well enough.  Image editing is currently supported using Pixlr (support for Aviary to come) and again seemed to perform well enough.  Kodingen also reports future support for code repositories such as svn, git, and mercurial where one can create teams to manage joint coding efforts (can't wait to try it out).

So after my week of trialling CodeRun and Kodingen, I must lean toward Kodingen based mostly on personal preference, but I feel that both systems create a sound cloud based development environment.  As I mentioned in the last post I think these systems would be ideal for educators wishing to introduce their students to web development or as a great code on the go environment.

17 February 2011

Coding in the Cloud: Part I

As a web developer I feel tethered to my desktop workstation, sure I can work remotely, but how can I code in the cloud without the need for a desktop development environment.  There are several cool tools for cloud-top development environments two of which I have been trialling recently.

CodeRun is a development platform for three main types of applications, C#, JavaScript, and PHP.  To get started all you need to do is go to the CodeRun IDE select "New" and you can choose the project template of your choice and go.  Most templates start with a clever label or button as a started, for example the jQuery UI project template starts with a "HelloWorld" dialog.

One can also upload an existing project which I have stored elsewhere and get to work.  This could be a great alternative to remotely connecting to an office based IDE and coding through that connection.  With the CodeRun platform the user has access to debugging tools and an in browser secure "temporary sand-boxed environment" in which to run your projects.

In my opinion a fantastic feature of this platform is the repository of code samples.  CodeRun allows a user to share their code, assigning it a unique URL that the user may share.  Just browsing through these projects would give a developer a great view of the power that this tool holds, or ideas for their own projects.  I could see this as a great way for educators to get students to learn programming, without a need to buy/download/install massive amounts of expensive applications.  A student could code their program and turn it in by sending their linked URL to their instructor for grading.

So I think that CodeRun is a powerful application that is great for all levels of developers or even those with no experience coding who want to learn a new skill.  Go for it.  Happy Coding!