I have been out of the loop for a while. In fact more recently while writing my dissertation I have been totally consumed, oblivious to the goings on in technology. The effect is that there are embarrassing gaps in my knowledge, specifically with regard to the web technology development landscape. In an effort to consolidate and internalize, this post highlights some of the interesting peaks of the landscape with regard to the web, with an implicit negation of my now outdated background from 4 years ago (LAMP/JEE). This post was created from surfing popular and social technology news. Amendments and corrections are welcome!
Programming Languages: Popular programming languages have changed little. The general TIOBE programming community index highlights the continued pervasive usage of Java, C, VB, the importance of Perl and Python and the growth of Ruby. O'Reilly book sales from 2006 provide insight into the interest in languages, highlighting the decrease in the pervasive approaches, and growth of JS and ruby. C# seems to be the .NET language of choice and interest, and I'm sure ASP.NET is dominating MS shops. Surveying programming social news is somewhat misleading, biasing perspectives on esoteric computer science languages like Lisp, Scheme, Eiffel, Erlang, Scala, and Haskel. I have to point out that I do get a kick out of learning new ways for thinking about programming when time permits. Safe bets would be Java, .NET, Python, and Ruby.
Development Methodology: Agile software engineering methodologies were the rage when I was working last (lots of XP), and it seems the trend has continued. Agile web development seems to be the rage these days (naturally), promoted by successful startups, evangelists, and productivity promoting frameworks. To me, notions of perpetual beta appear to be the application of XP practices where the users are the "client".
Web Frameworks: To show my vintage, the web frameworks of choice when I was last useful where things like Struts, JSF, Spring, and all manner of containers, code generators, and persistence frameworks. By far ruby on rails is the rising star of todays web frameworks, and Java integration will play an important role in enterprise. Django appears to own the python perspective, and old PHP players are still there, and MVC still seems to be the way to do things. Regarding presentation, the popularity of AJAX has not only boosted interest in JS, but also resulted an exposition of presentation frameworks. Some highlights include Dojo, YUI, and GWT, the latter of which I like a lot given the Java->JS complication approach capturing best practices. Some additional lightweight frameworks which may be useful to grasp include OpenID, JSON, REST, and I'm sure many others I have missed and forgotten.
Platforms: In addition to the classical model of building a site and getting hosting, there appear to be many ecosystems in which to participate these days. There are communities for mashups that exploit API's of big sites, including automated tools, and ecosystems centered around large service sites (like twitter for example). There are communities for creating widgets and gadgets for customizable home pages and blogs. Social sites like facebook provide application development platforms that are fostering vast ecosystems given the size of the committed user base involved. Beyond the browser, there are large communities focused on bring the web to mobile devices such as Android, as well as developing content for Second Life.
Tools: The Eclipse platform is stilling going strong for Java, and provides an effective entry point on other popular languages used on the web (Ruby, Python, PHP, etc). Beyond Eclipse, the classical IDE platforms support the popular interpreted languages, in addition to language-specific IDE's providing a lot of choice (for example: ruby and python IDE roundups). Firefox provides a powerful array of presentation development tools, including the popular Greasemonkey and FireBug.
Operations: Operations haven't changed that much, same old databases and operating systems. Regarding Linux, Ubuntu and Gentoo have risen up, although the classics still engender trust. Regarding hosting, the Amazon Web Services, specifically EC2 and and S3 provide a compelling solution, and Google's App Engine will be game changing with regard to barrier to entry for simple sites.
Finally, it seems the popular themes at the moment are the geo web, the social web, and the rich web.ns >>
Sunday, April 13, 2008
Highlighting the Peaks in the Web Development Landscape
Subscribe to:
Post Comments (Atom)




3 comments:
Another trend is the push for a "semantic web" which is the motivation behind things such as microformats
A rather accurate description, some small additions.
Operations: OS Visualization is playing an increasingly significant role.
Development Methodology: Watching the user.
A similar perspective on the development landscape titled: Multi-Inflection-Point Alert.
Post a Comment