Rocket

Languages and libraries

web framework

SHOW HN2016

484points
114comments
#22of 2,264 in 2016
Top 1%of 2016 by points

How HN took it

MixedNo clear lean

20 positive, 25 neutral or asking, 0 mixed, 11 critical, out of 56 comments about the project. Thread score +0.18.

Design: 8 for, 6 againstIdea: 4 for, 2 againstDocs: 1 for, 1 againstPerformance: 0 for, 1 againstPrivacy: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Route syntax with automatic data decoding is appealing

    From 2 comments
    • Syntax is amazing! Hope (so much) to see it possible on beta soon. Maybe for somebody it's not a new thing, but for me this: ``` struct Message { contents: String, }…
      EugeneOZ on HN
    • Edit: should preface this by saying the framework looks really impressive. I've been looking for a Rust web framework to settle on and this is the most appealing. It's funny to…
      aaron-lebo on HN
  • Compile-time checking of route parameters

    From 2 comments
    • Yes! Here's what happens when you don't do the right thing: ``` error: 'id' is declared as an argument... --> src/main.rs:8:9 | 8 | #[get("/<id>")] | ^^^^ error: ...but isn't in…
      sbenitez on HN
    • This demonstrates the brilliance of Rust's syntax extensions. Not only is the code more readable and ergonomic, but also type safe. Errors or mismatches in implementations are…
      eigenrick on HN
  • Resembles Flask and is easy for simple tasks

    From 2 comments
    • This looks very much like Flask, and Flask is one of my favorite ways of writing webapps because it's just so easy to do the simple things.
      Manishearth on HN
    • Since you mentioned "for somebody it's not a new thing": this looks a lot like Flask, if you're into Python (except for the type safety); I'm sure there's a Ruby equivalent. It…
      jonaf on HN

Objections

  • Metaprogramming and syntax extensions can hinder clarity and debugging

    From 3 comments
    • Sorry but I cannot agree. I work on the JVM and this pattern is great for "hello world" webapps but breaks down pretty quickly. When large parts of your logic like metrics,…
      strictfp on HN
    • I've worked on everything you mention and more, and I find the simplicity of say node.js or SparkJava very refreshing when coming from metaprogramming frameworks. Once you go…
      strictfp on HN
    • Personally I don't like domain-specific sugared syntax. I prefer clarity above all, especially since I hope to spend the least possible amount of time in the networking domain,…
      amelius on HN
  • Documentation is sparse and has hidden gotchas with forms

    From 1 comment
    • Being very excited about another Rust web framework, I've been trying to use this for the last few days. While the basics seem very interesting, there's a few large stumbling…
      chias on HN
  • Landing page messaging does not explain why to use it

    From 1 comment
    • I suppose this an advance for those already using Rust but the core message on the front page doesn't speak to me as a non-Rust person. FTA: Rocket is a web framework for Rust…
      rubyfan on HN

Requests

  • Better documentation and examples

    From 2 comments
    • We're in the process of addressing discoverability of the crates.io ecosystem, which led to this RFC: https://github.com/rust-lang/rfcs/pull/1824 A quote from it: > By far, the…
      steveklabnik on HN
    • Just a comment on the pastebin example ( https://rocket.rs/guide/pastebin/#uploading ): UUIDs seem like it would be easier to use for demonstration :…
      FLUX-YOU on HN
  • Support for async futures

    From 2 comments
    • It's my understanding that the current Rust web framework landscape is dealing with moving over to futures (example: https://github.com/hyperium/hyper/issues/934). The framework…
      aaron-lebo on HN
    • Single threaded? Why not use futures?
      wildchild on HN
  • Middleware or filters for cross-cutting concerns

    From 1 comment
    • I didn't see it in the docs, but does there exist a concept similar to java's servlet filters. For instance to check apikeys globally, perform compression, input validation, etc.…
      jay-anderson on HN

Questions

  • How security is handled compared to other frameworks

    From 3 comments
    • as someone who knows nothing about web development, does this framework emphasize security as much as rust itself does? how does this framework compare to other rust web…
      bronz on HN
    • I am not a web development guy, so this question might seem ridiculous: To me, it always seems that there are a lot of hazards in any web development project, security-wise: A…
      eveith on HN
    • edit: see replies to my comment. I mistook the Hyper pull request being merged for being in the latest release, but it isn't. Rocket uses Hyper for its HTTP server. So I checked…
      jonaf on HN
  • Benchmarks and performance at the bottom of the stack

    From 1 comment
    • It's my understanding that the current Rust web framework landscape is dealing with moving over to futures (example: https://github.com/hyperium/hyper/issues/934). The framework…
      aaron-lebo on HN
  • Whether Rust is simple enough for scripting like Python

    From 1 comment
    • One of my influences, Armin Ronacher, has been doing a lot of Rust work lately, so I've been thinking about looking at it more closely since I appreciate his Python tastes. Is…
      johnwheeler on HN

Alternatives named

  • Flask

    From 2 comments
    • Since you mentioned "for somebody it's not a new thing": this looks a lot like Flask, if you're into Python (except for the type safety); I'm sure there's a Ruby equivalent. It…
      jonaf on HN
    • This looks very much like Flask, and Flask is one of my favorite ways of writing webapps because it's just so easy to do the simple things.
      Manishearth on HN
  • Sinatra and Express

    From 1 comment
    • Syntax is why sinatra and express got bit. Just add a callback for your route and off you go.
      k__ on HN
  • Jersey and Spring

    From 2 comments
    • Since you mentioned "for somebody it's not a new thing": this looks a lot like Flask, if you're into Python (except for the type safety); I'm sure there's a Ruby equivalent. It…
      jonaf on HN
    • I've worked a lot with this pattern in Python (Flask), Java and Scala. I have found it a little inconvenient beyond the simple hello world app when dealing with Flask, but I…
      jonaf on HN
  • Play framework

    From 1 comment
    • This looks pretty nice, it reminds me of Play! framework for Scala. I am curious to see if Rust or Swift will prevail for this kind of thing. Both have the opportunity to reach…
      kev009 on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/13245475)