Friday, September 5, 2014 at 2:25 PM

I write apps in JavaScript that run in the browser

Brent Simmons is doing a survey of opinion on how people develop Internet apps these days. It's been invaluable, even though I don't understand most of what people are saying. I guess that's because today there are so many different competing models for development. I want to add to the discussion by telling how I do it these days.

How I do it these days

When I want to write something new, I open up my editor, and enter the address of a folder in one of my S3 buckets. Underneath that I paste in the shell of an HTML page, which I have ready to insert with a single choice from my editor's Bookmarks menu.

I go to the <script> section and start writing routines. Just as if I were going to run it from my desktop, which in a very real sense I am. It's just that today my desktop exists mostly in my mind. Which is (actually) where it always has been. The icons they put on the desktop of the Mac are just to give you something to hook into, intellectually. You just need a place to store stuff and that includes data and code. Same old same old.

I've been doing this for two years, and I keep raising the level of my work environment. I recently got to the point where saving data globally for a user is every bit as easy as it ever was to save data locally on the users' hard disk. So my model really is indistinguishable from the way we used to develop desktop apps. Except now my apps run in the browser, which means they run anywhere I can get at them through the web. On any of my devices. And I use that fact all the time.

What else to say? JavaScript is in every way a first class development language like C. I wouldn't do development any other way these days.

I do also write server apps, I have to, sometimes, but only when the APIs I use require me to. A couple of services stand out in not in any way making me do that: 1. Dropbox and 2. Facebook. Between the two Facebook's API is the simpler, and yet it's incredibly powerful. If you want an example of how easy it can be, spend a couple of days learning how to post a Hello World item to your own timeline on Facebook. Actually if you're programming in JavaScript in the browser, I'd be surprised if it took you more than an hour to get it going.

PS: I wrote this post in Fargo which is an app that runs in the browser. It has no server. All the storage is in Dropbox. Runs great.

Update -- Brent's post

Brent Simmons has posted a summary and asks a question. "I don’t think Dave is using any of the frameworks like Backbone, Ember, or Angular. (jQuery maybe? I don’t know.) He does use Bootstrap, I believe."

I use Bootstrap, jQuery and Font Awesome in all my apps.

Here's what's in my "basicIncludes" macro. This is code I call like built-in verbs in Frontier.

BTW, I have a macro language. It's been a long time since I had one of those in my code environment. I use it judiciously, carefully. One of the lessons I learned at UserLand is not to move your toolkit too quickly, or you end up living with your mistakes, basically forever.


Last built: Sun, Mar 22, 2015 at 5:50 PM

By Dave Winer, Friday, September 5, 2014 at 2:25 PM. Only steal from the best.