Skip to content

Instantly share code, notes, and snippets.

@Wolfr
Last active November 15, 2020 20:02
Show Gist options
  • Save Wolfr/5726b55128c4a2d0f54013ce17eec278 to your computer and use it in GitHub Desktop.
Save Wolfr/5726b55128c4a2d0f54013ce17eec278 to your computer and use it in GitHub Desktop.
A comparison between Sapper and Routify (draft blog post)

Note that is a draft post. NOT checked by the full Routify team yet. Any feedback welcome! (You are looking at a major rewrite, this used to be more about Routify vs Sapper)

What's the difference between Roxi, Routify and Sapper?

We are getting got a lot of questions about how Routify is different than Sapper. Rather than going into long comparisons about the differences with Sapper, I would like to explain the project goals of the Routify and Roxi projects. I hope this will make it clearer where things are going.

Now that we have released Routify 1.5, it's time to talk about Roxi.

In any non-trivial project, there is a need for a project structure. You've got routing, asset pipeline (CSS, images), data handling issues and more to deal with.

Routify is a router. We are aiming to provide a great file-based take on routing for Svelte.

The current Routify starter template provides more than just routing, with some built-in solutions for meta tags, SSR and automatic navigation. This can help you on your way, but once you start customizing it, you are in for a manual upgrade when the starter changes.

If you would start a new project from sveltejs/template and wanted a good project structure for a non-trivial project you'd have to spend some time figuring out a good structure. You could use Sapper - and we love Sapper - but what if you prefer to built something based on Routify?

This is where Roxi comes in. The project goal of Roxi is to provide a framework to create apps and websites with Svelte, based on Routify. We want an application framework with a clear upgrade path, that you can extend with plugins, that you can set up to your liking.

That scope goes far beyond being the best router for Svelte, and that's why this project has a separate name. At the moment, Roxi is in its infancy. There is no repository yet, there's discussion and ideas floating around.

We're currently what Roxi should be. Feel free to join the conversation on Discord and check out the #roxi channel.

In the meantime...

  • Use Routify-starter and start customizing from there.
  • If your setup is similar to our docs website you could start grabbing bits and piece from it.
@jakobrosenberg
Copy link

Good draft.

I'm not sure if Sapper starts two servers or if it's one handling all. We use a bunch in development and none when deployed, though the option is there. Alas the server count is probably moot. What matters is that an app with Routify can run serverless - even with SSR. We have access to a world that Sapper doesn't, Now, Netlify, etc. This means access to easy, free and stable managed hosting.

This, to me is one of the big advantages of Routify: There's no road from development to production. Code splitting, prerendered pages, SSR, metadata and OG, deployment config - it's all there.

I'll add some notes once I have a little more time.

@Wolfr
Copy link
Author

Wolfr commented Apr 25, 2020

I completely revised the post to talk about the current state of things. I would like to publish this soon to clear the confusion about Sapper vs Routify.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment