tecosystems

Development Frameworks and the Enterprise

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

Time was an enterprise developing an application had its choices for application frameworks, and they were safe: J2EE or some flavor of Microsoft. True, this was always a fiction, as Perl, PHP and a variety of other dynamic languages were the don’t ask don’t tell glue that actually held everything together and, you know, got stuff done. But at strategic levels – as far as the CIO saw things, in other words – the choices were pretty straightforward: to Microsoft, or to not-Microsoft with Java.

But this is, of course, old news. Both because I’ve written it up previously and because enterprises today are living this; CIOs are mandating compliance to strategic platforms while time-pressed and resource short teams are resorting to whatever gets the job done.

What we only touched on before, however, was the role that development frameworks are playing in this fragmentation of developer targets.

Rails may be the best known of the developer frameworks; its visibility is such that some are more familiar with it than the language its aligned with – Ruby. And indeed Rails is in many respects the epitome of what frameworks can be, for better and for worse. On the plus side, its constraints mean massive productivity gains versus designing from scratch. But while Rails is excels at the generation of new applications of a particular style, it is less adept at migrating in existing applications or the construction of many kinds of applications. To be fair, Rails has worked at the first problem and as to the latter, it has never harbored any ambitions of being all things to all people.

Around the Rails framework we’ve seen a fair amount of activity, the beginnings of legitimate ecosystem even. It’s famously been ported to other, non Ruby languages – see Steve Yegge’s Javascript port. Perhaps more importantly, it has something even Java never really had: good hosting options. With options like Heroku – who’s designed to make Rails deployment and hosting seamless – available, the barriers to entry for developers working with frameworks are falling fast.

Which is why the investments from Zend in – and growth of – its eponymous framework make sense. If you want, as Zend does, to sell PHP in to enterprises, a commercially supported framework is an excellent tactic. There are certainly no shortage of PHP frameworks around – while I was in Denver, I saw Alex go through close to half a dozen – but businesses need a surer bet and, frankly, fewer options. Rails remains the clear choice for Ruby, DJango is the favorite for Pythonistas and – at least within its target market – the Zend Framework is a good bet for PHP.

Questions remain, of course. Enterprises were willing to bet on Java and Microsoft because they were going to be around. And while most of today’s frameworks will still be around, it’s often difficult to project how they will be performing and evolving relative to their competition. Particularly in a market which is seeing and increased rate of fragmentation for development targets.

What the longer term implications of the surge in popularity in development frameworks – and web frameworks in particular – has yet to be determined, regardless of what the CIO might tell you. What is quite clear at this point, however, is that the immediate and observable benefits to their usage are the proverbial genie that cannot be put back in the bottle.

When I’m asked what I expect the fates of development frameworks in general to be vis a vis the enterprise, my answer is simple: gradual acceptance. While CIOs won’t embrace them, instinctively – and probably rightfully – fearing a dependence on application platforms with uncertain futures, their promise is proving to be too much to overcome. Much like the dynamic languages they’re composed of, development frameworks allow fewer people to more done more quickly. That’s a difficult proposition to argue against. IT will attempt to hold them to tactical duties, with the possible exceptions of commercially supported frameworks, but those restrictions won’t hold indefinitely, particularly in the face of tighter budgets and shorter staffs.

For their part, however, the frameworks that would want to see adoption in commercial settings would do well to consider adapting their models to enterprise needs. Predictable change, backwards compatibility, stable ABI/API, all of these things are concerns for enterprises. The frameworks that do the best at comprehending that, then, will have a leg up in commercial settings.

Whatever the fate of these frameworks within the enterprise, the strategic tools mandated and imposed from the CIOs office must be competitive with the likes of Django, Rails, and the Zend Framework. If they aren’t, CIOs will find the future looking much like the present, where the strategic platforms are eschewed in favor of the tools that get stuff done.

Separately, we’re going to see increased commercial investment into the framework space, whether that’s in Zend-style framework development and support or Engine Yard or Heroku-ish framework-led deployment, hosting and maintenance.

Disclaimer: Microsoft and Zend are RedMonk customers.

6 comments

  1. I may be biased, but I expected to see management (perf, diag, config, provisioning, reporting, events…) as a top recommendation for enterprise adoption. And not just management of the framework itself. Manage up (the apps, the transactions) and down (the infrastructure). Or provide a good integration story with someone who can.

  2. Spring surely deserves a mention in the Java world. client yes. but its definitely made Java development a lot more productive.

  3. […] Development Frameworks and the EnterpriseIn the post Java/.Net duopoly, where are other frameworks – esp. dynamic language ones – fitting in behind-the-firewall? […]

  4. James: and Spring’s move towards adding management capabilities confirms my point in comment #1. See for example “SpringSource Application Management Suite” (http://stage.vambenepe.com/archives/186) and “Hyperic joins SpringSource” (http://stage.vambenepe.com/archives/747).

  5. […] programming language proliferation, mobile application development and the spike in development framework popularity, development targets have been fragmenting for several years now. We are more or less in […]

  6. […] From the advent of cloud computing (coverage) to the rising popularity of development frameworks (coverage), there are a variety of reasons that development is easier today than it has ever been. True, this […]

Leave a Reply to William Vambenepe Cancel reply

Your email address will not be published. Required fields are marked *