BT

InfoQ Homepage Presentations Clojure and the Web

Clojure and the Web

Bookmarks

Bio

Glenn Vanderburg is a consultant at Relevance focusing on cutting-edge software development technologies and techniques, including Ruby, JavaScript, Ajax, and state-of-the-art development practices.

About the conference

QCon is a conference that is organized by the community, for the community.The result is a high quality conference experience where a tremendous amount of attention and investment has gone into having the best content on the most important topics presented by the leaders in our community.QCon is designed with the technical depth and enterprise focus of interest to technical team leads, architects, and project managers.

Recorded at:

Sep 07, 2011

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Clojure is not Lisp-2

    by Dmitry Gutov /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Starting with 00:29:15, this guy says that Clojure follows Lisp-2 model of separate namespaces for values and functions.
    This is blatantly incorrect. Clojure is Lisp-1.

    The reason (:uri request) works is because clojure.lang.Keyword implements clojure.lang.IFn.

  • Can't leave out the client

    by Faisal Waris /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Web frameworks are nice but the need today is to manage both the client and the server side computing in a coherent way.

    The earlier post about Opa is interesting in this regards and there are many frameworks such as Google Web Toolkit (Java); Script# (C#); WebSharper (F#); etc.; that allow client-side javascript to be generated from the language used on the server side.

    Additionally, integration with client frameworks such as Dojo, jQuery, etc. may be required.

    The old models of web don't work any more and I don't think we have a good story for the new model of the web, yet.

    Rich clients - like Silverlight, IOS, Android, Flash - are also on the rise putting different demands on the server side.

  • Brian Marick's book on Ring from Pragmatic Programmer's

    by Shree Mulay /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Which book does Glenn Vanderburg talk about at the end of the talk? I'd like to look at it! THANKS!

  • Meat is at 19:30

    by Vincent Murphy /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    The Clojure introduction ends here, and the web specific stuff starts.

  • Re: Brian Marick's book on Ring from Pragmatic Programmer's

    by Vincent Murphy /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I searched the Prag site and Marick's blog and couldn't find it. If anyone has more information please put a link here.

  • (request :uri) vs. (:uri request)

    by Howard Lewis Ship /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I think the community is gravitating towards the second version: (:uri request)

    This handles cases where the map is nil correctly.

    In addition, when using (defrecord), the record type acts like a map but does not act like a function (it can't be in the first position). So if the request was actually a record, (:uri request) would work, but (request :uri) would fail with an exception that request is not a function.

    This is important, as for performance reasons, it can be nice to convert from pure maps, or (defstruct) to (defrecord).

    I haven't researched why a record acts like a map, but does not act like a function.

  • Re: Brian Marick's book on Ring from Pragmatic Programmer's

    by Justin Forder /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Googling for "clojure ring book" led me to this message in the Clojure Google Group, asking for reviewers and giving a link to a PDF of the first two chapters.

  • Re: Can't leave out the client

    by Vladimir Tsvetkov /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Totally agree with you!

    With Flex/Flash you build a something that's purely a Client, composed from data-driven components. Components can be self-contained and highly reusable. The key to this self-containment is that the Flex/Flash components are purely client stuff that just waits for data to be set. Such Client is using the server to request/modify data asynchronously. The server just returns data. To me personally the HTML-based web apps are harder to reason about, design and componentize, simply because the server is not obliged to just return data, but it can also give you portions of the client. So the client components aren't really components, because they are partly generated from the server, partly generated from the client - and it's very difficult to design them in a way that allows them to be self-contained. They rely on both server-side processing and client-side processing. All these web frameworks are simple request/response frameworks - they don't address component-based architectures and designs where you can create applications by composing reusable components.

    What do you think?

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.