Simon Willison’s Weblog

29 items tagged “frameworks”

Are traditional web frameworks and languages like RubyOnRail, Spring Boot and PHP dying now when new fast reactive pure JavaScript frameworks and services like Meteor, Node, Angular 2.0 and Firebase are breaking ground?

No.

[... 40 words]

How does one decide which Javascript framework (e.g. Node, Backbone, Angular) to use on any given project?

If you are just learning JavaScript, I suggest trying to work without any frameworks or libraries at all. Starting with something like Angular will make it much harder for you to learn the core language and browser APIs.

[... 137 words]

Would you test your web app against simulated infrastructure failure?

I think this is a pretty interesting idea—simulating these kind of conditions isn’t easy so I imagine many teams don’t bother. If it was good (really easy to get started with, great control and reporting tools, maybe helped set up the actual tests to replay) and I trusted the service I would definitely consider paying for it.

[... 125 words]

Should you start with planning the view, the model or the controller?

My preference is to start by designing the URLs, then roughing out the first version of the database models. Everything else tends to evolve from there.

[... 44 words]

Should a beginner to web development start out with Node.Js?

Maybe. One of the things I like about Node.js is that the raw abstraction it provides over HTTP is much closer to how the actual protocol works than the abstractions provided many of the more widely used frameworks such as PHP, Django or Rails. That might actually make it an effective learning tool—I’d be interested in hearing from some web developers who learnt Node.js as their first server-side technology.

[... 87 words]

Why aren’t there any popular web frameworks in C/C++ even though they are more performance intensive languages?

Because it’s very hard writing secure code in them due to the way they handle memory management, and web applications have an enormous number of potential paths for malicious input. It’s much easier to write secure web application code in a higher level language (which isn’t to say it’s easy at all even then).

[... 77 words]

How do I choose between asynchronous web frameworks? My tech group is fairly language agnostic and we’re trying to standardize on some technologies.

Since they are all pretty close to each other and it sounds like your tech group’s skills would support any of them, I would suggest having your tram build a simple prototype in all three so you can compare them for your own particular team and situation.

[... 76 words]

Is it probable that one of the major forum software packages will support Ajax soon?

Those codebases are all terrifyingly ancient. I suggest taking a look at http://www.discourse.org/ instead which is a much more modern take on forum software.

[... 46 words]

Which language and framework would you use today?

Unless I had a very good reason to use something else (a pure websocket/real-time collaboration app perhaps) I’d go with stock Django on PostgreSQL and maybe a bit of Redis. Simple, powerful, stable and works reliably.

[... 50 words]

What is the easiest server-side platform for Android Java developers to learn?

Take a look at the Play framework—last time I looked (a couple of years ago) it seemed to be the most instant productive and sane way of doing server-side Java.

[... 50 words]

How do I learn how to write a javascript framework?

First, spend a few years writing JavaScript without using a framework. That should ensure you have a deep understanding of both what problems you want to solve and how you can solve them!

[... 49 words]

What are the differences between node.js and websockets?

This is like asking “what’s the difference between PHP and HTTP”. Node.js is a technology framework you write code in. WebSockets is a protocol which can be implemented using a technology framework. You can use Node.js to implement the server-side aspect of WebSockets.

[... 57 words]

What is the difference between a web server and a web framework?

A “web framework” offers a set of APIs for writing your own custom code in such a way that it can be called via the Web. Usually a framework will deal with common details such as HTTP header parsing, URL routing and so forth.

[... 272 words]

Which web frameworks should I focus on to make myself the most well rounded and to be able to solve the most problems as a web application developer/architect?

Being an expert web developer isn’t about which framework you know, it’s about the fundamentals. It’s important that you know how the tools you are using work, so you can fix things when they break—Joel Spolsky’s law of leaky abstractions is a great essay about this: http://www.joelonsoftware.com/ar...

[... 260 words]

Play Framework, Django or Rails? Which one do you recommend for  Social Networking Web applications.

Both Rails and Django have been used for a large number of high profile social networking web applications. Off the top of my head, Django is used by Instagram and Pinterest, Rails is used by Posterous and Ravelry. I don’t know what the largest sites built using Play are at the moment.

[... 149 words]

What platform was YouTube using before they were acquired by Google?

It was written in Python—I don’t think they used any particular framework (they started the site in 2005).

[... 37 words]

Is there a framework that allows me to collect input from individual users, and then charge for the aggregate and analysis of that data?

No—your needs are extremely specific. You’re going to have to build this yourself.

[... 95 words]

What is the best license for a web framework (ex: Cake, Rails, Django): GPL, BSD, MIT, other? Why?

Not the GPL. The share-alike viral clause will prevent anyone from creating closed source proprietary projects on top of the framework.

[... 45 words]

What are the tradeoffs (e.g. development speed, performance, scalability) between using various php frameworks, ruby/rails, or python/django?  Is there any reason to choose one overwhelmingly over another?

At this point, I’d argue that the decision between them comes down to programming language rather than framework—the frameworks have mostly converged on a very similar set of features.

[... 145 words]

Why don’t more people use Google Web Toolkit for web development as opposed to scripting alternatives like JavaScript?

I’m morally opposed to GWT, because I don’t believe in building sites or applications that are entirely dependent on JavaScript to function. As someone who took the time to learn JavaScript, I’m also not at all convinced that Java is a more productive language.

[... 68 words]

What is the highest traffic website built on top of Django?

My best guess would be Disqus. Instagram are pretty enormous these days as well.

[... 31 words]

What is the history of the Django web framework? Why has it been described as “developed in a newsroom”?

I was there!

[... 670 words]

Drupal or Django? A Guide for Decision Makers. A surprisingly interesting comparison—the author describes Django as “a framework with CMS-like tendencies” and Drupal as “a CMS with framework-like tendencies”, then explores the benefits of those two different approaches. # 15th November 2009, 10:14 pm

Play framework for Java. I’m genuinely impressed by this—it’s a full stack web framework for Java that actually does feel a lot like Django or Rails. Best feature: code changes are automatically detected and reloaded by the development web server, giving you the same save-and-refresh workflow you get in Django (no need to compile and redeploy to try out your latest changes). # 25th October 2009, 11:21 pm

Infrastructure for Modern Web Sites. Leonard’s thoughts on what the next generation of web frameworks should aim to provide. # 29th January 2009, 1:36 pm

Merb gets merged into Rails 3! Huge news. Of particular interest is the new focus on “framework agnosticism”, whereby Rails will aim to play well with people wishing to use alternative ORMs, template mechanisms and so forth. Rails has previously suffered from a reputation for getting in your way if you deviate from its opinions. # 23rd December 2008, 8:32 pm

WebOb. WebOb is “an extraction and refinement of pieces from Paste”—provides a very nice request and response object, clearly inspired partly by Django. The documentation includes the differences between the WebOb API and that of other frameworks. # 23rd December 2007, 10:22 am

Frameworks Exist for Conceptual Integrity. Adam Gomaa just taught me a bunch of interesting things about Django’s underlying philosophy. Looks like I need to re-read the Mythical Man-Month. # 17th December 2007, 1:58 pm

The promise [of J2EE] was that of infinite scalability based on tooling, which assumes that designing scalable systems is a general case problem. I now firmly believe that this is flawed reasoning. Frameworks don’t solve scalability problems, design solves scalability problems.

Ryan Tomayko # 14th April 2007, 2:35 am