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.
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.
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.
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.