npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

flexo.js

v0.2.11

Published

client-server backbone views with async rendering life cycles

Downloads

46

Readme

Nah, I'm just messin' with ya; you're all right.

Backbone based libraries and frameworks typically have synchronous rendering life cycles. This does not lend itself well to applications that have asynchronous rendering life cycles. It also makes the assumption that all resources – templates, template engines, data, etc. – have been resolved before a view’s rendering life cycle begins. This does not work well in applications where rendering nodes can be added at runtime on the client, e.g., an item is added to a collection that is driving a collection view. Synchronous rendering life cycles also make it impossible to work with rendering and template engines that are asynchronous, and make animating item view adds and removals from the DOM difficult.

Flexo, solves this by providing a 100% asynchronous rendering life cycle with sensible defaults and the proper hook points that allow developers to add their own implementations for resolving their dependencies and rendering.

Additionally, Flexo is able to run on both the server and client because it uses string concatenation to render Flexo collection views. Any Flexo view can also get the HTML for itself.

Flexo is not a complete solution. It is intended to be a base for creating your own views by providing structure and asynchronous rendering life cycles. It should be part of a larger solution and your application.

API

There are default implementations for all methods. These implementations can be overwritten to meet your needs. View Documentation