7 ms·
Introducing the Famous Framework
- pluma 11y agoSeeing how Famous is pretty much yesterday's hype, I'm curious to see whether it can still become relevant.
- facepalm 11y agoWhat is today's hype?
- IceDane 11y agoTomorrow's yesterday's hype.
- pluma 11y agoLast time I checked? Mercury or Om. But neither of them comes even close to the level of hype famous had (back when it was famo.us).
- wyldfire 11y agoWow, things move really fast in this space. Is "back when" May 2015? The only context I have is the "Didn't you just release Famous in May?" quote from the article.
- kitd 11y agoDidn't you know? Famo.us for 15 minutes?
- plorkyeran 11y agoTheir first launch was May 2014. The thing they released then mostly didn't actually work, but was very heavily hyped anyway.
- pluma 11y agoThe original hype was when they were in closed beta, which was way more than a year ago. Internet Archive[0] indicates they started promoting it as early as January 2013. Things do move fast, but hype doesn't move that fast. The reason I'm cautious is that they were extremely hyped before being able to deliver any actual code developers could use and that in the time since the original announcement, well, all of the past two and a half years happened (e.g. React). [0]: https://web.archive.org/web/20130715000000*/http://famo.us https://web.archive.org/web/20130715000000*/http://famo.us EDIT: Here's the January 2013 beta marketing website: https://web.archive.org/web/20130110063331/http://famo.us/ https://web.archive.org/web/20130110063331/http://famo.us/
- regularfry 11y agoIt took me quite a bit of scrolling to figure out that Famous is some sort of JS UI system.
- richmarr 11y agoTell me what it is. Tell me what it is. Tell me what it is. Tell me what it is. Tell me what it is. Tell me what it is. Oh.
- wyldfire 11y agoHmm...it's got a user and a machine...k... Inspired by turtles, LEGO and ICs, k... "Or with JavaScript in general" -- there's a hint "Web Frameworks: Given that we're building a web framework" -- well, I wouldn't call it a given, but -- mystery solved!
- emilioolivares 11y agoHa, this was exactly my thought process when I was reading!
- currywurst 11y agoAsking 10 people to explain what MVC is, and you'll get 11 answers ;) ! Having recently done a dive into this area, I would really recommend interested folks to patiently read this great article by Martin Fowler: http://martinfowler.com/eaaDev/uiArchs.html http://martinfowler.com/eaaDev/uiArchs.html The web community has been done a great disservice by people popularising the phrase "MV*".
- e12e 11y agoOne could do worse than having a look at: https://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html https://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
- voyou 11y agoYep. There's also some good discussion on the Portland Pattern Repository, particularly this discussion[1] about how the meaning of "Controller" changed from it's original Smalltalk meaning (where it is the component that updates the model in response to user input) to the way it's sometimes used today (as an object which mediates communication between the model and the view). [1] http://c2.com/cgi/wiki?WhatsaControllerAnyway http://c2.com/cgi/wiki?WhatsaControllerAnyway
- seivan 11y agoI like the fact that development for applications is moving towards what game code seems to have been using. Building components and re-rendering with new state when necessary actually much better than what we're currently doing. Which is why I prefer React over Batman, Ember and Angular. Btw, I feel like their concept of Behaviour Tree doesnt' really fit in with the Behaviour Tree's I read about.
- deleted 11y ago[deleted]
- exacube 11y agoFor a UI framework, show me a pretty demo with some example snippet code next to it and I will read on. Otherwise, I'm not motivated -- this is not the way you want people to read about your UI framework.
- nateparrott 11y agoThis. I can't find a single example of an actual UI you'd build with famo.us on their entire site. How am I supposed to know what makes the framework worth learning if I don't see examples of what it makes possible?
- notduncansmith 11y agohttp://famous.org http://famous.org at least shows some code samples, but I agree - it'd be nice to see a real interface, as opposed to an animation. It would also be great to see how Famous isn't a re-skin of MVC with a React-flavored API.
- deleted 11y ago[deleted]
- notduncansmith 11y agoFor what it's worth, I quite enjoyed when re-frame did this. https://github.com/Day8/re-frame https://github.com/Day8/re-frame It looks like Famous is going for something similar, but I'm not enjoying the reading nearly as much.
- MikeOfAu 11y agoYes, indeed, this approach from Famous is VERY similar (in structure) to both: - re-frame (https://github.com/Day8/re-frame https://github.com/Day8/re-frame) and - the Elm Architecture. (https://github.com/evancz/elm-architecture-tutorial/ https://github.com/evancz/elm-architecture-tutorial/). Of course, both re-frame (in ClojureScript) and Elm have the massive advantage of being in functional languages which allow for FRP, and embrace immutability by default. Can't tell you what an advantage that is.
- leppie 11y agoSeems the same as Web Components/Polymer. Not sure why neither are mentioned...
- sootn 11y agoThis BEST stuff looks great and I'm looking forward to using it. But it will be a nightmare to search for if this stuff takes off. You should consider changing it to something more unique.
- thomasfl 11y agoThe core of famous is really an request animation frame loop that does css transitions to do animations with physics. Their demos uses absolute positioning on everything to get flickerfree animations. On top of that they've created various abstractions like angular directives and react components. It's very cool, but for simple animations in react or angular I turn to snabbt.js. There are some open source projects that adds turn key components to famous, like famous-flex https://github.com/IjzerenHein/famous-flex https://github.com/IjzerenHein/famous-flex by Hein Rutjes. If you want demo's, then there's the famous "fan site" http://famousco.de/links/ http://famousco.de/links/
- gardnr 11y ago> that does css transitions to do animations I thought it used WebGL to render animations.
- Polarity 11y agoyou can choose your render target. thats why there is so much abstraction.
- smrtinsert 11y agoIs absolute positioning all you need for smooth animation like gsap?
- machbio 11y agoIt looks great, but I am trying to get documentation of the famous-cli command "deploy".. no idea of how it works..
- ImtiazMajeed 11y agoThe source code is on Github if you want to check it out (https://github.com/Famous/famous-cli https://github.com/Famous/famous-cli)
- deleted 11y ago[deleted]
- leavesofgrass 11y agoThis has been around for a while, what's introducing it today?
- leavesofgrass 11y agoI've seen Famous around for a while, what makes this different than what they were doing previously?
- afshinmeh 11y agoLooks interesting. Haven't heard of BEST, is there any documents or articles out there?
- longnguyen 11y ago"Let Angular be Angular, let React be React, and let Famous be famous"
- easytiger 11y agoIs this satire? I can't tell. :/
- supjeff 11y agoI was certain that it was satire until about 50% of the way through. I scrolled to the bottom and sure enough... Github repo...
- eterm 11y agoBut then the repo has things such as: http://famous.org/framework/hello-framework.html http://famous.org/framework/hello-framework.html Which has the gem: "Check out the 'Hello World' example below. When reading through the code, think of the tree as Famous-enhanced HTML and the behaviors as CSS styles on steroids." So "behaviors" are styles? Why is the first line of a "Hello World" example a load of styles I don't understand? And it's even more confusing: It talks about "components" but there are IDs which means any resuse would duplicate those IDs on the DOM (I think?) which isn't valid html.
- TheAceOfHearts 11y agoLink to the framework page [0]. I couldn't find any demos there or in other pages, though. I couldn't figure out how to run the examples [1] and there's no live links of em either. This is not specifically directed at Famous... Why don't you [framework creators] show off REAL freaking apps? Show me a reasonably sized application that handles sophisticated user interactions. How do you handle routing? Data fetching / caching? Production builds? Testing environment? Dealing with your everyday CRUD? It's alright if your framework is meant as a framework that only handles some specific things, show a real-world example of the framework to highlight how it makes things easier/better/simpler/faster. I don't want to see TodoMVC or single-file examples. I know it's absolutely NOT sexy, but it's most of what I'll be having to deal with in my day-to-day work as a developer. (The only frontend framework that I know of that does a tremendous job at this is ember. I don't use ember, but I have nothing but the utmost respect for its developers.) Specifically to famous: You touch on the topic of building large applications with Famous in this link. Your lack of reference applications (although not necessarily unreasonable, as you just announced the alpha) does nothing to gain my trust as a developer. I'd love to see a non-trivial example application that shows the full picture of what an app would look like. [0] http://famous.org/framework/ http://famous.org/framework/ [1] https://github.com/Famous/framework/tree/develop/lib/core-components https://github.com/Famous/framework/tree/develop/lib/core-co...
- tracker1 11y agoThank you... even in TFA, the handlers all seem to be synchronously bound... how do you tie these into async communication channels? It really bugs me in this day and age, that frameworks are build without async client-server being a first-class behavior at least by example. While I really appreciate the various demos for say TodoMVC, which allow some framework comparison.... what I would love to see (from TodoMVC or similar) would be an abstracted interface that is expressly async (even if only using setTimeout) via callbacks or promises for the data access. It's part of the story that is very important. Also, a very simple router... perhaps requiring a hello/login/register screen (user:user) and the todo screen. I know TodoMVC was supposed to be just trivial enough to show something between the various frameworks... that said, I think we really need just a hair more.
- 11y ago
- mrmondo 11y agoStrange SSL cert on that website - it looks like the site is only partially encrypted and firefox cant detect who it's verified by.
- BillinghamJ 11y agohttp://imgur.com/u8yIx4G http://imgur.com/u8yIx4G
- phatbyte 11y ago"please don't let it be another JS framework, please don't let it be another JS framewo....ahhh man !" :P
- progx 11y agoI hear from Famous as UI System, but what is (in simple words) Framework - Engine - The Machine - The User... the blog post is really confusing. Got it after watch the Website: "The Famous Framework is a new JavaScript framework for creating reusable, composable, and interchangeable UI widgets and applications. It balances declarative with imperative and functional with stateful, and it's built on top of the Famous Engine."
- ludwigvan 11y agoI'm excited about Famous. The initial negative reaction from the community reminds me of the initial negative approach towards React. My gut tells me it is going to be very famous.
- aikah 11y agoFamous came with a "WOW" demo then nothing for 2 years, only mail spam. React lib was available from the get go. Famous is a vaporware, the framework didn't exist when they made the "WOW" demo. They got some funding (2M $) and then they had to build something...
- untilHellbanned 11y agoFamous is probably most famous for making the front page of HN. It does look like a cool JS framework though.
- sravfeyn 11y agoI am curious of what blog-engine they are using. It looks very similar to Medium
- vikeri 11y agoAccording to my wappalyzer it is Ghost http://imgur.com/QAjVXlg http://imgur.com/QAjVXlg https://ghost.org/ https://ghost.org/
- roelvanhintum 11y agoHere is an example of a simple useless todo app, good luck with your complex multipage layout... - Every js framework ever
- ramses0 11y agoThere's a reason for that: http://todomvc.com/ http://todomvc.com/
- JustSomeNobody 11y agoThat's not a reason.
- zackbrown 11y agoHaha, totally, I hear you. Part of our decision to prioritize integration with other technologies/frameworks is so that more mature tools like Angular or React can do the heavy lifting on application logic while Famous focuses on animation and layout. We learned a lot about this balance from our time building Famo.us/Angular. In other words, we're not trying to be 'everything for everyone' out of the gate, but we'd love to be 'something for everyone,' and the 'something' we're focusing on is what what Famous is good at: user interfaces, interactions, and animations.
- ricklancee 11y agoSo is BEST just MVC but a with a different name?
- jondubois 11y agoThe front-end framework space is highly competitive - There are lots of great options to choose from. Many companies are trying to gain developer mindshare in that area. Famous, AngularJS, Polymer, React, RiotJS, CanJS, ... All really great options. I think Famous will have trouble competing with React, Polymer 1.0 and the upcoming AngularJS 2.0 in the current 2D browser-based market. I think if something like Microsoft's hololens gains traction, Famous would greatly benefit - Its 3D features would help it stand out. Most of the value of a 3D interface is lost when you project it on a 2D screen.
- woah 11y agoI have the suspicion that actual game dev tools will have the upper hand for VR. Sort of how native development is the way things are done on mobile. I'd love to see the web be universal, but I think there will just be too many shortcomings.
- couchand 11y agoWe use dependency injection to match State names to parameters of Behavior functions—the State numberOfStates gets injected into any Behavior function that lists is as a parameter, like function(numberOfStates). We need to have a talk. First, this isn't dependency injection - you're passing in data. These "Behavior" functions may depend on the data, but that doesn't make this a dependency. Oh, I can understand how you're confused. You see Angular doing it and reverse-engineered the term. But notice how in Angular it is used to pass services into controllers, services that the controller has a dependency on. Also, notice how this "feature" is broken in production. Any website worth its salt will minify the assets, which changes function parameter names. You did notice that, right, that your clever little hack works great in your development environment but totally breaks when you minify your code? You are testing things minified, right? Why would you spend any time at all working on a feature that is fundamentally broken in production? Kill your darlings.
- aikah 11y ago> Any website worth its salt will minify the assets In Angular you'd assign a property called $inject to make "DI" still work even with minification, so it's not really an issue.Or you can explicitly pass a array with dependency names when a service is registered. So there is no issue here. Now I don't know how Famous works and i'm not interested in using that 2M dollars vaporware. I'm just saying.
- postnihilism 11y agoMany build tools will allow you to simply annotate functions that are meant to have their dependencies injected so you can avoid explicitly typing out the verbose array syntax. (e.g. https://github.com/olov/ng-annotate https://github.com/olov/ng-annotate)
- JustSomeNobody 11y agoWait, are they seriously trying to say that "function(numberOfStates)" is dependency injection?
- 11y ago
- jgalt212 11y agoSo much hate for these guys, it's amazing.
- ajkjk 11y agoI would characterize it as "skepticism".
- prezjordan 11y agoI wouldn't.
- kyllo 11y agoDays since last new JavaScript Framework: 0
- BFay 11y agoDon't worry, my new Flux implementation will take your mind off of that!
- neumino 11y agoRelevant: https://xkcd.com/927/ https://xkcd.com/927/
- Semiapies 11y agoNo. No, it isn't. And even if it were, it's possible to have a useful response beyond a webcomic link that every idiot posts when anything new happens.
- ktprem 11y agoAh, pathetic Famous as usual.
- scotch_drinker 11y agoWhen I came to the realization this isn't satire, another piece of my soul died.
- brightball 11y agoThe Javascript framework space isn't competitive...it's saturated for the exact same reason that the PHP framework space was saturated. Javascript and PHP frameworks are all built on top of a language that does everything you need for the web before you even start the framework. Frameworks in both languages are basically an exercise in arranging things according to your personal preferences...and people have a wide range of preferences.
- jakejake 11y agoOne thing that I like with a JS framework is when I can actually play around with a demo or two without cloning the repo. Call me lazy, but I don't see why a framework that is entirely client-side can't just put the demos up?
- spankalee 11y agoA shame they don't even mention Web Components or custom elements, considering that much of what they are addressing in terms of composability and interop with other frameworks is exactly addressed by these standards.
- datashovel 11y agoFrom the blog post it looks like alot of good work is being done here. I think most apps out there probably don't reach the level of complexity that would require a rethinking of MVC, but I have seen it and agree that some web applications have reached the need to think beyond what MVC can provide. If I had to guess, I think some of the first web-related work (on what post-MVC web will look like) began several years ago when 'reactive' programming started becoming a hot topic. Since it seems a new JS framework comes out pretty much every week, and some people express frustration in trying to filter through the noise, I would say to them that this one is definitely one to keep an eye on.