The following is an e-mail interview with Amy G. Dala. Amy is a seasoned hacker whose antics have always surprised & inspired us over at ikura.
) here to stay, but just like C++ & Java just before it, JS
has won. How do you see it?
Would you explain how you came about writing web-apps that use zero JS
in the first place? What was the project that started you down this road?
: I have been wanting to try building a complex webapp that uses nothing but a backend, CSS
for a really, really, really, long while. Then one day my colleague Ari said he had a client that he couldn’t take on. Would I like to take it? I thought the client was a perfect victim because the project fell in between complex, but not too complex. That project ended up using ikura’s services, BTW
I assume there were moments with that first project — I respect that you can’t go into the details of a client project — where you said to yourself: ‘I could put some JS
right here, and that would be an elegant solution.’ No?
: I used to play with a toy called Robotix
IKURA: An aside: what back-ends have you been using to ‘lean on’?
After you had let me know that you’d be down for a little ‘Q&A,’ I tried making a toy ‘No-JS’ web application, using OTP
coupled with Cowboy as my back-end. I wanted to see if I could get into the same head-space as you. Here’s what I observed as I went along.
I didn’t think about JS
until late in the project’s life.
When it was time to solve problems where JS
would typically be employed, there seemed to be no solution other than JS
In several cases, I put some JS
in there (as a place-holder until I figured out how to accomplish things without it). The JS
was a fine solution but I genuinely felt that it was a dirty hack; it felt like a kludge.
What are your thoughts on my observations?
… But it’s not like half our codebase is made up of those!
I see your point about the source-code. It’s unique, for sure. I suppose templating engines — like DTL
, or the likes in Rails — have us approaching problems slightly different, where things get coded pro-actively, not slapped on. Would you agree?
: I would submit that the templating approach makes you plan better, and since you broached the feeling
IKURA: What are some cautions you would give anyone about to try ‘JS-free’ web-development?
: First off, be prepared to pass a good deal of content to your templates from your backend. And with that, it’s a good idea to pick some templating engine that can take all those variables and be flexible with flow control. Django’s template language
with forms that submit circa 1999. Just remember, this is not an antipattern! Single page webapps, I believe, come from a very, very strange reaction to deathly slow Rails/Django/PHP backends. Perhaps it’s the single pager that’s the antipattern…
IKURA: A final two questions. What’s the worst hack you have had to make using the templating approach? Lastly, are you going to start a ‘No-JS’ movement? And of course, feel free to share any final thoughts on everything.
, for example. Or Craigslist
solution, who probably do
A million thanks goes out to Amy. G. Dala for her time in sharing her whimsical ‘No-JS’ development credo. It was a fun e-mail exchange & it’s never regrettable to hear what others are trying in the trenches of hacking.