Comments (17)
On it then
from todos.
I think a Vue port would be great @sethmurphy18! If you're interested in working on one, that would be awesome!
from todos.
Ok, I am having some issues, so I am going to open an RFC from the Meteor team. Vue and Meteor do get along, barely, except in one regard: reactivity. Tracker and Vue simply do not work together. I have found a package that allows me to use subscriptions: vue-meteor-tracker, however it has 1 huge issue, I can only use 1 subscription per component. That's it. I can use more, but that would require using a modified version of vue and a modified version of tracker. While I could very easily do this, I think it kind of defeats the purpose of the todos app, which is to highlight how easy and flexible Meteor is. Also, it would appear @mitar has been working on a port of the todos app already. That said, I have 3 options for this app:
- I can try to rewrite the plugin I am using to see if I can make it work
- I can use vuex and track everything using states and create a literal single page app (single route too)
- I can use apollo, and go the graphql route, since apollo and vue are fine together...I think.
In terms of difficulty, I would say these are all fairly close. Apollo is only difficult because of having to redo the entire API part of the app.
from todos.
Why not use fork of vue and modified version of tracker? They are drop-in replacements and then you can just use multiple subscriptions per component and full reactivity and everything you are used to. Just try out vue todo app. Works like a charm. :-)
from todos.
I am getting about to that point. This is very annoying. I am not knocking the vue-meteor-tracker package, but it's limitations are kinda infuriating.
from todos.
I'll let you look over what I have @mitar and see what you think. I hate showing my code in progress, since it is definitely not my best, but maybe you can see something I am missing.
https://github.com/eagerestwolf/todos-vue-meteor
from todos.
Oh btw, ignore all the test data. I literally ripped those straight from the react branch so I would remember to make Vue versions later.
from todos.
Ok @mitar I hate to bother you...again...but I have hit a stumbling block. I cannot get the subs to run at all now, and I am not sure what I am doing wrong. I switched to your version of Vue and your version of Tracker, but they just won't run. Any suggestions? I updated the code in the repo.
from todos.
@sethmurphy18 Glad to see that you are on to this. You seem to have set something rolling, and noone need doubt your competence to deal with this.
But - correct me if I'm wrong - this isn't just about the todos-app, it's about Meteor/Vuejs as a whole.
So I just wanted to register a plea to MDG to put a bit of weight behind Meteor/Vuejs - even if it's just opening a few doors, talking about it, organizing stuff, and generally helping you with this.
We've had people giving up a load of spare time and everlasting thanks to them, however Meteor/Vuejs is still in beta after a couple of years (I think), so I'm trying to be realistic.
And I'm certainly not complaining. I'm grateful for the work that has been done (Akryum), which has enabled me to get quasar-framework working with Meteor, which is what I personally am interested in.
@mitar has done some great work with Vuejs, but it looks like it has to stay as a fork, for the moment.
@hwillson Any possibility of MDG getting involved? I can't see how this is going to be solved without MDG giving some input, and encouraging an official line: correct me if there already is one !
I've been messing with Vuejs for over a year now, and I wish I could use it in anger.
Noone has the slightest doubt that Vuejs is good for Meteor.
But obviously it's difficult to feel confident putting it into a Meteor project while things are in a bit of a state of flux and projects are in beta.
from todos.
@mwarren2 I kinda disagree. Meteor/VueJS is far from even Beta. We still are at the point that using Vue with Meteor requires not only a patched version of a Meteor core package, tracker
, but also a patched version of Vue itself.
That said, I believe the Blaze team, of which I believe @mitar is a part of, has stated that they want to use Vue as Blaze 2.0. I have looked into writing a plugin to bridge the gaps between Meteor and Vue, but sadly I do not have enough knowledge about the inner workings of the Meteor Reactivity System to make it work correctly.
And, yes, you are correct, part of my intention with this was to demonstrate to MDG that Vue and Meteor would be an excellent pairing, however, it is not a very good pairing at this time due to the amount of problems I have encountered. I simply cannot get Meteor's Reactivity System to work with Vue's Reactivity System, even using a pactched tracker
and vue
, so I have put this project on the back burner for the time being. As it simply will not subscribe to anything on the Meteor side of things. I am still working on trying to make the 2 work, just working from a different approach like we had to do in the early days of React.
from todos.
Meteor/VueJS is far from even Beta.
I mean, it is stable. And working. And feature complete.
We still are at the point that using Vue with Meteor requires not only a patched version of a Meteor core package, tracker, but also a patched version of Vue itself.
So? This is just a way to distribute a code. Once you do that, it works like you expect.
from todos.
simply cannot get Meteor's Reactivity System to work with Vue's Reactivity System, even using a pactched tracker and vue, so I have put this project on the back burner for the time being. As it simply will not subscribe to anything on the Meteor side of things. I am still working on trying to make the 2 work, just working from a different approach like we had to do in the early days of React.
You would have to create a smaller reproduction for me to be able to help you here. A ported TODO app here works great with Vue and Meteor:
https://github.com/meteor-vue/todomvc
See example component here: it is a great mix of Blaze and Blaze Components. Everything you expected, just that naming is slightly different. And of course, Vue template itself. (For the latter, Vue supports preprocessors so we could probably create blaze template -> vue template preprocessor.)
from todos.
What is the state of this?
from todos.
It is implemented, see the link: https://github.com/meteor-vue/todomvc
from todos.
Hi all - there hasn't been any activity here in a bit, so I'm going to close this off for now. If anyone is interested in working on a Vue port, definitely let us know. Thanks!
from todos.
I mean, Vue port already exists. So I am not sure what would have to be done more?
from todos.
Great - I think the OP was referring to a Vue port of this todos
app, but either way https://github.com/meteor-vue/todomvc is awesome. Thanks!
from todos.
Related Issues (20)
- Apollo branch needs to be updated to reflect current Apollo project. HOT 5
- Cannot serve the built app through an ad-hoc local network
- Update React Todo to use TypeScript since PropTypes deprecation HOT 1
- replace createContainer with withTracker HOT 1
- CSS Import?
- http://todos.mysite.com redirect to https://todos.mysite.com HOT 1
- Current version won't start (last commit 59f6621 on 27 Apr 2017) HOT 1
- Add Server Side Rendering and Dynamic Imports to React To Dos HOT 1
- Why are collections not imported or defined in the register-api / api.js file ? Where are they imported and defined? HOT 3
- Where are collections defined and imported? HOT 1
- Why the code looks so messy? HOT 2
- ant-design branch ready to pull HOT 2
- Uncaught Error: Target container is not a DOM element. HOT 6
- Error Connection Websocket
- Cannot find sockjs HOT 1
- React branch update with hooks - New react/typescript branch? HOT 5
- todos example doesn't run, error in meteor npm i
- german language HOT 1
- Official Example doesn't update to latest version 1.11.x HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from todos.