gadicc / meteor-famous-views

Famous, the Meteor Way (with Reactive Blaze Templates/Views)
http://famous-views.meteor.com/
GNU Lesser General Public License v3.0
332 stars 27 forks source link

Production ready #240

Closed ghost closed 9 years ago

ghost commented 9 years ago

Hi there,

I have been playing around with famous-views for the last 1 week or so and apart from the fact that it is really neat to have it all handlebars-style I just don't get some errors (maybe on my side, idunno).

When I try to put a translate="[0,0,10]" in a Surface or Scrollview and translate another View by 20 or -10, it seems to be arbitrary which Surface is shown in the front. I have tried everything, like putting a View around it, with and without align and origin, proportions or size etc., but I cannot control the behaviour of two surfaces, one in front of the other. Sometimes one is shown in front, sometimes the other surface. Can anyone help here?

Regards

rjmoggach commented 9 years ago

Not a solution - more of a commiseration...

I've had some 'fun' figuring out the order of operations for transforms as you describe. I've mostly reverted to using modifiers to keep the transforms somewhat atomic but still takes some trial and error to get right.... especially if you're using perspective and doing 3D rotations.

ghost commented 9 years ago

Hi there,

thank you for your commiseration @robmoggach, so it's the order of parameters then, ugh :) But anyway, the important question for me would be whether you think that famous-views can stem a professional project with >50.000 lines of code? For my part, I have to say that I finally (almost) decided how I will do my project. For anyone to whom it could be of any help I explain my decision in the following. Hope that is ok.

Looking at the whole thing, I think famo.us is just too complex and also too dominant as a framework in a way to consequently do something like famo.us-views, in the end you have to program in js anyway, so why not do it in js the first place. Also Blaze and famo.us fighting for the "dominant" part in the frontend, meaning either put Blaze into famous (... content: Blaze.render(...)) or famous into Blaze (famous-views), I'd rather go with the former. The backend is all Meteor anyway. In addition, lot of the help, tutorials, addons etc. are in plain famo.us, not f-views (e.g. fview-map). My last point would be that it seems like famo.us are preparing their next stroke right now, which will be an easy famo.us&jQuery-library, and putting all of that into famous-views as well would probably be too much work for one person in his free time I suppose. So my advice would be to use famous-views for small projects, to play around with, that should actually be faster than famono-only. But I don't want to count on famous-views for an industrial-project, then see its limits later in development having to reprogram large chunks then. Still I have to thank the developer for this contribution to famo.us & meteor. Also I would be happy to be proven wrong ;) Anything that makes the life of a developer easier is always welcome.

Regards

gam-ragnar commented 9 years ago

@der-ede all of your points are valid particularly the fact that famous-views is too big for one guy who does it at spare time. This is why I propose some real effort into turning this into a real community effort, with stuff like gitter chats room, snippets sharing portal and a core contributing team. I think famous-views makes using famo.us more approachable to meteor developers and using one solution for small project and another for large is not a very viable option.

If we can not get a community around this, we should stop toying around and move to using famous directly. However this will be a big loss as @gadicc has done the impossible of bringing the top two platforms into one use-able piece. Thanks buddy for all the hard work, lets make this a resounding success.

PEM-- commented 9 years ago

@timfam :clap: Actually, this thread should not exist at all. Where is the issue on this code? It works perfectly. If you want it to evolve, make PR not criticisms.

gam-ragnar commented 9 years ago

@PEM-- You absolutely mis-read my comment please re-read. I am responding to @der-ede and recommending a way to grow the community. To some degree I have successfully helped out in making Orionjs CMS packages more community oriented and I want to repeat that success here. This is a great project and we have to recognize @gadicc does what he can in his free time. So we must support him, I have vested interest in seeing this grow, but as mentioned earlier for something like integrating famous and using it in serious project we need to migrate this project into community driven and let every one know what is at stake. Again I salute @gadicc for getting us on this journey

PEM-- commented 9 years ago

@timfam I was replying to @der-ede. On the contrary, I really love your mindset. I'm already supporting this project on my own spare time. What @gadicc has achieved is tremendous. It makes Meteor / Blaze on par with Angular concerning the integration of such a marvel as famo.us can be for mobile. Don't even take my word on this, checking out the DevShop or the stars on this project is far more effective. Making fast mobile app is hard. This project cuts the hard business by a half.

gam-ragnar commented 9 years ago

@PEM-- agreed this thread should not exist please close if you can

PEM-- commented 9 years ago

Done :wink:

rjmoggach commented 9 years ago

The underlying issue... As evidenced by this thread... is that there is no effective way of communicating with regards to this project. When I had questions I ultimately emailed gadicc and thankfully got a response but there really should be a google group or other forum for discussion... Please don't say stackoverflow.

On Saturday, May 2, 2015, Timothy notifications@github.com wrote:

@PEM-- https://github.com/PEM-- agreed this thread should not exist please close if you can

— Reply to this email directly or view it on GitHub https://github.com/gadicc/meteor-famous-views/issues/240#issuecomment-98407396 .

Sent from Gmail Mobile

PEM-- commented 9 years ago

Ha ha. It means 2 things. This project has traction as there's a lot of people willing to get help on it. This project is not baked up by a big company and therefore has no financial means.

The only way to get it on and be ourselves "production ready" is to use it professionally and gives back to the community what you've learned about it. PR are welcomed. Even on the docs. I've even written a contribution guide.

gam-ragnar commented 9 years ago

@robmoggach we are on gitter now

ghost commented 9 years ago

Hi @PEM-- and @timfam,

I didn't mean to offend anyone. I haven't taken a look into the sources of famous-views yet, but I am sure that @gadicc put a lot of effort into this to make it a success. Maybe I did not find the right words here and have to apologize for the tone.

I know of 2 apps that run on the Meteor/famo.us/Cordova frameworks, namely http://versoapp.com and http://downtochill.com/, both of which afaik are in plain famo.us/meteor. With famous-views I have only seen some short examples so far.

Idunno, in the end I need to get it done. But seems to hit the point here, I mean, to me Meteor&Famo.us are perfect for 90% of Apps (Smartphone) out there, cross-platform and "native feel" at the same time. Only for games or high performance C# (Xamarin and Unity) is better. That's why I don't understand that there is not even more traction going on. I mean, no matter if famous-views or plain, I think this is the best combination out there right now.

PEM-- commented 9 years ago

No offense taken @der-ede. Happy coding my friend.

ghost commented 9 years ago

:)

gadicc commented 9 years ago

Hi all, sorry for the late reply, I was away for the weekend. I have a lot of things to say on the above, but firstly I'll emphasize that I'm not offended at all and I think these discussions are very important.

  1. Agree that this is definitely too big a project for me alone.
  2. I would love more community involvement and agree this is critical for the community* success of the project. We have a gitter channel now (thanks guys!). I'll be happy to see where this goes. I'm also open to other suggestions. Another forum in Discourse? Up until now, questions are mostly via github questions which is quite comfortable for me but maybe not for everyone else.
  3. I emphasize "community" because I am using famous-views for all my own stuff, and will continue to do so. It has radically reduced my development time and I think is the most sensible way to code a powerful app today. However, I can't guess how everyone else is using it and test for every permutation. When problems are reported, when I have time, I fix them (@splendido can probably comment on our awesome collaboration for the useraccounts:famous-wrapper, where a lot of low level stuff got made a lot more flexible and resilient). When I don't have time (like now), unfortunately these can build up until I do have a time.... OR until a PR comes (I admit I'm 2 PRs behind but these should be merged soon).
  4. No, I don't really think famous-views is production ready "now". Neither do I think famous is (in my personal opinion, and others). I believe both projects are headed in that direction though, and in both cases, are production ready for a limited subset out of all possible features. I am using both in my own projects and am mostly happy how both work. Obviously issues with famous cannot easily be worked around in famous-views.
  5. I strongly disagree that these frameworks fight over control for the front end, and that it's better to put Meteor into Famous than the other way around. As someone pretty familiar with the internals of both, I'd say it's pretty close to a match made in heaven, barring a few things which famous-views does a good job (imho) of mitigating, and that's improving all the time. I think famous-views solves a lot of problems that anyone using both these frameworks together would inevitably have to solve on their own, and I think that's a waste. More so, if famous-views doesn't cover a use case, I think it makes more sense to contribute the change back to the community so everyone benefits, rather than rolling your own on what I believe will ultimately become a big pile of unmanageable hacks.
  6. I guess it's a preference, but I just think it's crazy to work directly in JS rather than markup. As well build entire webpages with var div = document.createElement('div'); document.body.appendChild(div) etc instead of using templates and rendered/events/helpers etc. Especially things like {{#famousEach items}} etc, those two words equate to a LOT of javascript that handles the reactive cursor for inserts/changes/etc and consequent effects on the render tree. Even more so that code is quite flexible... I would really hate to e.g. try integrate famous-flex with Meteor without having famous-views in between.
  7. Re traction, well, I think the biggest problem is that famous is pretty "low level" at the moment, and this isn't what the majority audience of app developers is looking for or want to get into. Since we introduced the fview plugins (from famous community not core) in November, fview installs shot up to about 1000/month. So I think most people want pre-built components and a much less people can or want to deal with the lower level stuff, but this number is gradually growing too, which is fantastic.
  8. Famous' jQuery stuff has nothing to do with this project (other than what I believe will be a big boost to overall famous community). A famous jquery widget will be just like any other isolated widget and will either be a good fit or poor fit for various parts of your app, just like every other jQuery plugin available today. e.g. you don't use a single jquery widget to control how your entire app routes and renders, and a native Meteor widget will always be more flexible, efficient and faster than a jQuery alternative (consider again working with reactive collections, session variables, etc, or something as simple as a type-ahead plugin or x-editable; of course in some cases a meteor wrapper around a jquery plugin is the best of both worlds).
  9. If anything is faster and easier in native famous than in famous-views, that's a failing for a particular area of famous-views that should be fixed. I encourage you to open an issue for it, and for us to work as a community to achieve the most ideal, most Meteor-way of making it work.
  10. Verso-app as far as I know doesn't use Famous at all, just clever CSS and animation.

I think that's everything. Again, no bad vibes on my side but thought it was a good opportunity to express my opinion on these issues. Re the translation problems, I opened another issue for that in https://github.com/gadicc/meteor-famous-views/issues/244.

gam-ragnar commented 9 years ago

:clap: What a brilliant piece that calms all waters, thank you for all the hard work. Lets get on with the work of building this community. Side note, I missed your talk in Ottawa, another major reason to revamp our community website so people know when one of the core people have a speaking engagement in their country/locale