Making Development Less Difficult: Interceding with the Browser Gods
Building Web apps today is painful, "like building a ship in a bottle." The tool builders assure us it'll get easier. Really.
Fri, November 30, 2007
CIO — A developer's tools control how he builds applications. Sure, anyone can hand-code software to do something precisely, starting with assembly language if necessary. But good development tools make some features easier to implement, integrate debugging and other process-related tools into the environment, and generally make the developer's life easier. One word summarizes all of this: wizard.
But with so many technologies, languages and frameworks, the situation can often become more complex rather than get simpler. Jochen Krause, CEO of Innoopract (the company behind Eclipse RAP), says, "The Java tool stack and runtime stack—this is incredibly complicated. There are at least 50 acronyms. Even with the best tooling, if you have such a complicated technology or stack of technology, it will always remain very difficult to build apps." Krause and others expect changes to occur in the development tools space, particularly in the languages and frameworks adopted: "That's why languages like Ruby, PHP, etc., are so helpful," he says.
As a result, says Bob Brewin, Sun's software CTO, doing Ajax is really painful, "like building an aircraft carrier by hand." Hand-coded Ajax development today requires a large skill set, so several interesting technologies have materialized to simplify it.
That trend—to develop a new capability and then find ways to simplify development—mirrors what happened in desktop computing. But Brewin believes the improvements will happen faster, because techniques can be borrowed from desktop development. "We invented it and now just have to copy it," he says.
It's up to the tools to make the task easier. As Alex Russell, project lead for the open-source Dojo Toolkit, says, "My job is to intercede on developers' behalf to the browser gods." Because the Web cut everyone off in visual design and user design, he says, "We've all, on every front, been rebuilding the tool chains, and how we think about those problems."