Jump to content


  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

976 profile views

trusktr's Achievements


Newbie (1/14)



  1. trusktr

    Famo.us vs. Greensock

    Oh, by the way, also check out famo.us for Angular and famo.us for Meteor. With famous-angular you can do things like <fa-app> <fa-modifier fa-size="[200,200]" ngRepeat="person in people"> <fa-surface> Hello {{person.name}}. </fa-surface> </fa-modifer> </fa-app> With meteor-famous-views you can do things like {{#famousContext}} {{#famousEach people}} {{#Modifier size="[200,200]"}} {{#Surface}} Hello {{name}}. {{/Surface}} {{/Modifier}} {{/famousEach}} {{/famousContext}} with spacebars (Meteor's handlebars), and +famousContext +famousEach people +Modifier size="[200,200]" +Surface Hello #{name}. with jade for Meteor.
  2. trusktr

    Famo.us vs. Greensock

    Yes, you can sprinkle famo.us into any normal HTML/CSS app. You just call Engine.createContext(target) where target is the Element you want to put famo.us inside of. You also need to make sure the target has overflow:hidden if you want the famo.us stuff to be clipped inside the target. Performance wise, probably not comparable. Using transform:matrix3d() in any library has the same effect. The things about Famo.us is that the API is more similar to native programming instead of HTML/CSS. It's much easier to make a dynamic app with the Famo.us API than with standard HTML/CSS, and makes developers feel right at home because it's all about imperative code, not the less-powerful declarative HTML/CSS. HTML/CSS was originally built for text documents, not apps. Also take a look at something like gss.github.io, the engine used at thegrid.io, for an alternative to both Famo.us and GSAP. github.com/jsstyles/jss might also be coming out with a constraint resolver like GSS has to make traditional HTML/CSS more powerful. I'm not sure which version you tried, but currently, when a Famo.us easing curve has finished, matrix3d is done being modified. This early alpha release of Famo.us definitely needs tuning, but in concept it's amazing. The new Mixed Mode coming out this year (hopefully, or "when it's ready") that mixes DOM with WebGL has solved a ton of the problems that are seen in the current release of "old" famo.us, including a re-written physics engine (same API). The Famo.us physics engine works fine. Drag functionality isn't meant to be the job of the physics engine. You can easily add touch to your world. Check out some of the physics examples: http://codepen.io/befamous/pen/eAlwd. Here's my PushMenuLayout that uses Easing curves, not the physics engine, but the touch functionality still feels nice, and I plan to replace Easing curves with physic soon: http://trusktr.io. Give it a moment to load since it's not optimized for production (i.e. it loads lots of files then converts them from ES6 to ES5 in the browser). Swipe from the left edge of the browser on a mobile device to "push" the menu open, or hover on the left edge with your mouse on desktop (WIP). That's made with famo.us, and it shows that touch can work smoothly. I'll be adding more UI components at npmjs.org/packages/infamous and updating the README with usage and documentation soon. If you use modern package handlers like browserify, webpack, or jspm, then you can compile your app code using only the classes you've required/imported. You don't have to import the entire famo.us library, unless you're choosing to use it as a global (window.famous) which I wouldn't recommend. You don't need to rebuild your entire project in famo.us. In fact, as an example, the famo.us carousel widget (whenever it gets released) will work as a jQuery plugin. You can call $('#myDiv').famousCarousel() and it will put famo.us just in that part of your app. It's easy to mix traditional HTML/CSS, GSAP, and famo.us all together if you want. No problem. You can put GSAP inside a famo.us context, or a famo.us context inside GSAP. With famo.us, it's also possible to use the animation layer on traditional HTML/CSS elements, without using the famo.us renderer. Every class in the famo.us library is a standalone class, so you can use TransitionableTranform, for example, to animate any regular DOM element. Agreed, one product isn't always the best fit, and it's easy to mix GSAP and famo.us together, and with other libraries. You can control famo.us object from anywhere. Each class is a standalone object. Just import it (ES6) or require it (node/CommonJS) wherever you want. You can easily animate Famo.us Surfaces by writing a function that takes the result from any animation library (like GSAP's) and transform that result into a Transform array that you can pass to a Famo.us object like a Surface, TransitionableTransform, etc, just like dmb85 did: