All Projects → gt3 → ultra-router

gt3 / ultra-router

Licence: MIT license
Router for component-based web apps. Pair with React or <BYOF />.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to ultra-router

Route
原生 js 实现的轻量级路由,且页面跳转间有缓存功能。
Stars: ✭ 68 (+94.29%)
Mutual labels:  router, history
Navaid
A navigation aid (aka, router) for the browser in 850 bytes~!
Stars: ✭ 648 (+1751.43%)
Mutual labels:  router, history
Frontexpress
An Express.js-Style router for the front-end
Stars: ✭ 263 (+651.43%)
Mutual labels:  router, history
ampersand-router
Clientside router with fallbacks for browsers that don't support pushState. Mostly lifted from Backbone.js.
Stars: ✭ 69 (+97.14%)
Mutual labels:  router, pushstate
Redux First History
🎉 Redux First History - Redux history binding support react-router - @reach/router - wouter
Stars: ✭ 163 (+365.71%)
Mutual labels:  router, history
Barba
Create badass, fluid and smooth transition between your website's pages.
Stars: ✭ 9,372 (+26677.14%)
Mutual labels:  router, pushstate
Mobx Router
A simple router for MobX + React apps
Stars: ✭ 489 (+1297.14%)
Mutual labels:  router, history
Redux Saga Router
A router for Redux Saga
Stars: ✭ 153 (+337.14%)
Mutual labels:  router, history
Navigo
A simple vanilla JavaScript router.
Stars: ✭ 2,435 (+6857.14%)
Mutual labels:  router, history
Sheet Router
fast, modular client-side router
Stars: ✭ 219 (+525.71%)
Mutual labels:  router, history
Computer-Networks
GBN and SR simulation, Distance Vector Algorithm Simulation
Stars: ✭ 21 (-40%)
Mutual labels:  router
ruuter
A zero-dependency HTTP router
Stars: ✭ 57 (+62.86%)
Mutual labels:  router
CRRouter
A simple and powerful router
Stars: ✭ 54 (+54.29%)
Mutual labels:  router
MapMoves
View your Moves app and Arc app/LocoKit location history summary on map
Stars: ✭ 35 (+0%)
Mutual labels:  history
binance-profit-calculator
Just some Trade History import tool to see how much profit you made. If you have bags (unsold coins) it tries to take those into account as well.
Stars: ✭ 30 (-14.29%)
Mutual labels:  history
bs-director
[UNMAINTAINED] BuckleScript bindings to the Director router
Stars: ✭ 22 (-37.14%)
Mutual labels:  router
openwrt
OpenWrt Stable 1907 with lean's package
Stars: ✭ 55 (+57.14%)
Mutual labels:  router
EMF
Extended Mechanics & Flavor
Stars: ✭ 33 (-5.71%)
Mutual labels:  history
organiser
An organic web framework for organized web servers.
Stars: ✭ 58 (+65.71%)
Mutual labels:  router
rafagas
Daily geospatial links curated by Raf Roset
Stars: ✭ 17 (-51.43%)
Mutual labels:  history

npm i ultra

Add pushstate navigation to your component-based web app. Integrate seamlessly with React, Preact, and Vue.

download dependencies
4.6 kb none

Benefits

  • Embrace component paradigm, stay framework agnostic
    • Use conventions to map url string to component (sub)trees
    • Independent of rendering or view layer
      • Routing should be immune to complexity introduced by framework-level abstractions (context in React for e.g.)
  • Co-locate routes to support scalability
    • Routes are data. Similar types of information are best understood if they exist in the same space.
    • On the other end, as relationships between components get more complex, it is best to leave route matching logic out of the mix.
  • Extensible
    • Composable API provides clear separation between route configuration and runtime to avail maximum reuse and target different environments
  • Compact
    • Ideal for mobile/progressive web apps
      • No runtime dependencies
      • 4.6 kb > ultra (> preact)
      • Code splitting friendly

Trade-offs

  • For modern browsers with pushstate support
  • Does not render component or fetch data
  • Relies on use of path keys (strings) to derive result
    • More complex update process involves replacing path keys throughout the app
    • Path keys (non-minified) may contribute to bloated bundles
      • Concern for apps with multiple deeply nested routes, e.g. Amazon
  • For the Developer: Overcome the notion of changing your routing code again this season, and actually following through. No pun intended.

Resources

  • Quick start (build navigation for a news website tutorial)
  • React bindings: react-ultra
  • Code examples in /examples directory
    • Vehicle shop: jsfiddle
    • Tap (intercept routing): jsfiddle
    • Loading modules and routes dynamically

To-dos

  • Create automated cross-browser test suite
  • Add Preact and Vue.js examples
  • Implement Node.js container for ultra-router

License

MIT


Handle a route or two without breaking a sweat. ⚔️ ULTRA

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].