Let me begin by saying that - like most developers I think - I have a pretty strong distrust for visual builders for applications. I've been burned by too many tools that create something pretty on screen but generate a horrible mess of code behind the scenes. I think there are definitely tools that do a good job of it now, but once you've been scarred by seeing div tags nested twenty layers deep, you get a bit sensitive. I've recently become a bit more open minded about it. XCode, in general, has a very powerful UI building metaphor to it and I kinda dig how the Android tools handle it in Eclipse as well. Now that you understand how I approach these tools, let me talk to you a bit about the upcoming Ionic Creator tool from the folks behind Ionic.
Just a random tip for folks who may run into this in the future. I'm working on a mobile app for a client and I'm using both Cordova and AngularJS. The application allows people to select a photo from their gallery or take a new picture. It then renders a thumbnail to the web page. It supports any number of selections so my view simply loops over an array.
Doing something a bit different today. A PhoneGap user contacted me yesterday with an interesting problem. He and I discussed it over a quick Google Hangout, and I thought I'd write up some thoughts about our discussion. Ultimately I want to build a proof of concept around this idea, but I thought I'd start first with an explanation, sans code, to see what people thought.
The problem, at a high level, involves downloading data files to a PhoneGap/Cordova application after the user has installed it. These would not be required downloads. Think more of things like DLC, or additional songs for a game, optional items. His question was how an application could be architected to support such a system. Here is what I told him. (And as always, I welcome other opinions in the comments below.)
So a while ago I mentioned I was working on the CreativeSDK project. My role is to help out with documentation, including tweaks to the API guides and writing articles. As someone still pretty new to ObjectiveC, my articles are pretty simple, but hopefully that's exactly the kind of content that can help people use it. The SDK is now public and you can peruse some of the terribly exciting articles I wrote that demonstrate things like CC file access and PSD extraction.
The best place to start though is the Getting Started article, which walks you through project set up (XCode is pretty darn impressive by the way) and how to handle basic authentication with Creative Cloud.
Check it out at http://creativesdk.adobe.com.
Earlier today a user on Twitter asked how one could determine the version of Cordova used to create a project. As far as I knew there wasn't really a way to determine this, especially since there are multiple versions in play now. But I double checked on the main developer list just to be sure.
I kinda stumbled upon this by accident, but Ionic has a CDN you can find here:
Earlier today a user on the Cordova development list asked if plugins are tested against only the current release of the SDK. This brought up an interesting discussion that I'm summarizing here.
So, as you know, iOS 8 finally brought IndexedDB to Mobile Safari. I may be biased, but I find features like this far more useful than CSS updates. Not to say that I don't appreciate them, but to me, deep data storage on the client is something that is more practical and useful to more people. Of course, I work for a company that is all about designers and not developers, so what do I know? ;)
This is a pretty exciting change. If you've recently updated to the latest version of Cordova, you will notice that a new platform exists: browser. What exactly does this mean? It means the browser is now (well, becoming) a viable way to test your PhoneGap/Cordova applications. For a long time now I've done a lot of my development in the browser. Most of the time I'm not concerned about some random Cordova feature, instead I'm more concerned about something else. So I'll skip, or mock, a Cordova feature and focus on the important stuff. But eventually I hit that point where I need to do something via a core plugin and then I leave the desktop. Now we have an alternative.
Pardon the cryptic title. Earlier this morning I was working on a demo (the result of which is documented here) that I knew was going to be rather simple. Therefore I decided to skip using Ionic since AngularJS would have been overkill for what I was producing. I was ok with that, but what I really didn't like was losing live reload and logging in my terminal. Turns out there is a rather obvious way to get that.