Mail: Vue

Created on 20 Aug 2018  ·  5Comments  ·  Source: nextcloud/mail

Hey, @nextcloud/mail,

as we can all probably agree on, our current UI framework (jQuery/Backbone/Marionette) is a bit of a pain to work with. It was a great enhancement over simple Backbone views when those were the standard for old ownCloud apps, but times change and now there are way better frameworks available that would easy the long-term maintainability of this app.

Therefore, I'd like to propose the transition to Vue. This will allow us to share common components across apps and move to a more pleasant development style.

I've started gathering some brainstorming ideas for tasks that have to be worked on at https://github.com/nextcloud/mail/projects/4.

Marionette still isn't that bad for simple apps. However, this app has grown significantly, with highly nested data structures and lots of asynchronous actions. Naturally, this led to a hard-to-maintain state management, which I failed at certain aspects and the app is suspect to some concurrency issues (e.g. routing vs. async loading of content data). Therefore, I would strongly suggest to fully built on Vuex to have a one-way data flow (opposed to the highly complex event system in Backbone/Marionette) and defined state transitions.

Usually @Gomez and I spend some time working on a bigger change of this app at the conference, so I think this would be fun to hack on together at this year's conference. Everybody is very welcome to join us. There's a lot work to be done :wink:

@nextcloud/mail please let me know what you think.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

discussion help wanted

Most helpful comment

Yeah! Sounds like a plan :) Great opportunity to dive deeper into vue and get it started.

All 5 comments

Yeah! Sounds like a plan :) Great opportunity to dive deeper into vue and get it started.

I recommend emberjs.

We are using vue for our apps. And we love it. Maybe we can help. Not myself, because I know just SAP ABAP. But my great colleagues.

We are using vue for our apps. And we love it. Maybe we can help. Not myself, because I know just SAP ABAP. But my great colleagues.

Yeah, absolutely! Take a look at https://github.com/nextcloud/mail/projects/4 and let me know if there's anything you'd like to help with! The basic structure is done, now it's all about the small (but important) details :wink:

I'm closing this discussion ticket now that we're actively working on the Vue migration. Progress can be seen at https://github.com/nextcloud/mail/projects/4.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

benks-io picture benks-io  ·  4Comments

StCyr picture StCyr  ·  4Comments

ChristophWurst picture ChristophWurst  ·  3Comments

MariusBluem picture MariusBluem  ·  3Comments

jancborchardt picture jancborchardt  ·  4Comments