Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare Backbone 1.4 #4028

Closed
megawac opened this issue May 6, 2016 · 75 comments
Closed

Prepare Backbone 1.4 #4028

megawac opened this issue May 6, 2016 · 75 comments

Comments

@megawac
Copy link
Collaborator

megawac commented May 6, 2016

Some significant changes have occurred on master since 1.3. I'd like to get 1.4 out sooner than later. Below are a list of some of the more important activity highlights over the past couple months:

/cc @akre54 @jridgewell

@jridgewell
Copy link
Collaborator

Any others PRs we should merge?

@vladyslav2
Copy link

Any release date of backbone v1.4.0 ?

Thanks for such a nice framework !

@denar90
Copy link

denar90 commented Sep 2, 2016

@megawac what about separating on several files, thus View, Model, Collection etc will be in their own files?

@megawac
Copy link
Collaborator Author

megawac commented Sep 2, 2016

That was previously discussed in #1598 and #2257. Feel free to leave a comment on those topics @denar90

@typhonrt
Copy link

typhonrt commented Oct 9, 2016

Greets @denar90 et al. regarding separating on several files this is what I've done presently with backbone-es6. Besides converting everything to ES6 + inline documentation I'm angling to fully modularize in separate repos all the main components of Backbone. I've already done this with Events which has no dependencies between modules or Underscore. The inline documentation is great for ES6 codebases using ESDoc (actually TJSDoc; releasing soon) for documentation generation; current API docs. I've held off on this as I thought 1.4 would have been out a bit sooner. I'm using JSPM / SystemJS for bundling distributed releases and it works great; edit: though I'm keen on getting things out on NPM when finished.

To accomplish full modularization I'll be adding an internal Events instance to Backbone to communicate between modules versus direct method calls; there are just a few points where this is pertinent more or less. The eventbus NPM module is backbone-esnext-eventbus and this allows access to several standard eventbus instances for app dev, but also internal backbone-esnext usage. I also added a few extra trigger methods for Events that are quite handy such as being able to have return results synchronously and to trigger asynchronously and receive a Promise with any results. This is rather handy for message passing for modularization and I have a nice plugin system which allows an app to autowire on an eventbus; typhonjs-plugin-manager. A nice feature too is that event registration is transparently handled for plugins by the manager and events are removed automatically when plugins are unloaded / IE plugin lifecycle.

Right now though I'm considering keeping backbone-es6 100% in sync to Backbone and likely in one repo except for Events just to make it easier to update against the mainline Backbone releases. After creating a comprehensive testing infrastructure I am however considering fully modularizing backbone-es6 then creating backbone-esnext for ES6+ usage in implementation. A primary goal there will be to remove Underscore usage internally where standard library functions exist. This already has been done with backbone-esnext-events which has no dependencies. Other goals include replacing jQuery AJAX support w/ fetch accessible via the internal event bus and making sure View / jQuery can be completely separated with the possible drop in addition of a virtual dom solution (maybe Inferno / undecided there). Having things fully modularized also gives the opportunity to play around with Ramda powered Model / Collection components to see if there is enough of an improvement over Underscore. At this point it will be easy to create custom builds of backbone-es6/esnext via JSPM / SystemJS or other bundler / build tools as requested in #1598; though I'll likely publish on NPM once things are solidified.

With these efforts I'm attempting to stay 100% compatible with Backbone for backbone-es6 and may diverge a little for backbone-esnext. I'd be glad to interface with any Backbone collaborators to see if any of this may be appropriate for the mainline Backbone effort.

@bboydflo
Copy link

What about including some basic documentation/example of how to use Backbone with Browserify or Webpack? It seems there are more and more people moving especially to webpack, but documentation on how to use backbone is lacking.

@jaapz
Copy link

jaapz commented Oct 24, 2016

@bboydflo using backbone with browserify should be exactly like using any other package in browserify, so I wouldn't know why to document this specifically for backbone.

@bboydflo
Copy link

@jaapz I am in process of switching an app from using browserify to using webpack. I also use lodash as utility library throughout my project, so I wanted to replace underscore dependency with lodash's core.min.js. I think more and more people are using webpack these days. I thought having few paragraphs about it would help them.

@akre54
Copy link
Collaborator

akre54 commented Oct 24, 2016

We don't officially support Lo-dash or Zepto but there should be plenty of google results out there describing how to make them work with Backbone.

See this and this for example.

@halfnibble
Copy link

@bboydflo Why use webpack? If we're going all ES6, then why not use ES6 modules with something like Rollup.js? http://rollupjs.org/

@bboydflo
Copy link

@halfnibble because I am just switching from browserify, and a lot of people are talking about webpack. It would be easier to figure it out. I heard about rollup too.

@halfnibble
Copy link

@bboydflo That makes sense. But I wonder if someday everyone will stop using custom module bundlers altogether? One thing is certain, Backbone.js will remain. :)

@ahumphreys87
Copy link
Contributor

hey @megawac how far away is 1.4 from landing?

@Borming
Copy link

Borming commented Nov 10, 2016

I would like to know that too, how far is 1.4?

@Borming
Copy link

Borming commented Apr 7, 2017

Hello, is anyone here? Can someone get some clarification on where is Backbone heading and are there any developers left that are actually working and maintaining Backbone?

Thanks in advance

@tamalsaha
Copy link
Contributor

We are also interested in understanding the future of Backbone. If the core developers are not interested in maintaining or too busy to spend time in evolving backbone, I think we should see if there is community interest in maintaining Backbone.

@megawac
Copy link
Collaborator Author

megawac commented Apr 8, 2017

If anyone is interested in drafting a changelog and submitting a PR I think its time we publish 1.4

@jbboehr
Copy link
Contributor

jbboehr commented Apr 8, 2017

Does #3615 have any chance of making it in?

@tamalsaha
Copy link
Contributor

@megawac , will #4133 work?

@megawac
Copy link
Collaborator Author

megawac commented Apr 8, 2017

@tamalsaha we need to update the index.html file (see https://github.com/jashkenas/backbone/blob/master/index.html)

@tamalsaha
Copy link
Contributor

@megawac here is take 2 #4134

@Borming
Copy link

Borming commented Apr 8, 2017

@megawac no problem, please send me what needs to be done and I will help. I just want to know if Backbone is still alive,....are lead devs still working on Backbone and is there any interest in developing Backbone? Maybe even some roadmap for future Backbone releases...

Its a shame to let such a great framework unmaintained just because lead devs lost interest in it...or?

@megawac
Copy link
Collaborator Author

megawac commented Apr 9, 2017

@Borming if you're interested in updating some sections piecemeal that would be very useful. For example, documenting using ES6 classes with backbone (#3827).

Another good one to document is #4061

@halfnibble
Copy link

@typhonrt I recently read up on some of your ideas. I want to see a virtual dom solution too. We could probably drop underscore.js altogether, but it would be nice to find a virtual dom solution that can render existing underscore.js template syntax. I'd like to participate in this effort. Anything you'd like me to do? Should we setup a slack?

@typhonrt
Copy link

@halfnibble I updated my above comment with a few more details. Right now I have backbone-esnext-events published and it works alone of course, but typhonjs-plugin-manager adds nice modularization functionality for autowiring events to plugins and handling transparent event unregistration w/ the plugin lifecycle. I'm using this to great effect with TJSDoc and soon typhonjs-escomplex; both of which are Node CLI apps for documentation gen and complexity analysis of ES6+, so very handy beyond web apps. This thread probably isn't the best to continue a discussion. I do have a Gitter channel if that makes sense.

@iamajoe
Copy link

iamajoe commented Apr 23, 2017

@halfnibble i actually don't think that virtual DOM is the way to go.

There are a lot of options for Virtual DOM on which I would rather go. One of the advantages, for me, on backbone is that it is pretty easy to also set it on legacy projects / server rendered projects. You'll lose that with virtual dom, or at least an easy way to do so.

@typhonrt
Copy link

typhonrt commented Apr 23, 2017

@Sendoushi I think the idea is to modularize Backbone and have a configuration that has a virtual dom implementation of View if so desired. I too am skeptical about vdom per se as at least in all of my efforts BB is just fine. Though I'd like to abstract View as much as possible so that there can be jquery / zepto enabled version and other flavors. At that point its mix and match the modules one wants to use. Want vdom, great. Want BB with everything but View / Router / History that's possible too.

I have a whole BB event driven GUI library built with the original material design lite that I'm upgrading to material components web. The challenge will be to see if things can cleanly sit on top of the jquery View implementation and a vdom version with minimal fuss; not that one replaces the other.

@Wikiki
Copy link

Wikiki commented Oct 4, 2017

Hi,

any news regarding release 1.4 availability date ?

Regards,

typhonrt referenced this issue in typhonjs-backbone/backbone-es6 Oct 31, 2017
@steel
Copy link

steel commented Dec 12, 2017

Whats the hold up? It's been a year and a half now!

@paulfalgout
Copy link
Collaborator

@jashkenas now that underscore is all new and shiny, up for doing the same for Bb? Not sure what's left to be done at the moment, but there is a merged 1.4 changelog already.

@jashkenas
Copy link
Owner

That would be lovely.

@megawac and @jridgewell — how would you feel about pushing a 1.4?

@noobiek
Copy link

noobiek commented May 18, 2018

@megawac and @jridgewell ping?

@noobiek
Copy link

noobiek commented May 25, 2018

@megawac and @jridgewell and @jashkenas ping?

@roeycohen
Copy link

probably safe to say that version 1.4 will never be released. world has moved to other frameworks... :(

@ianwijma
Copy link

ianwijma commented Nov 7, 2018

Well I have deployed a Cash register system fully build in Backbone with Marionette and a little bit of NodeJS. We DO use an older version, but personally I love the simplicity and the vanilla approach of Backbone. I know we have VueJS, which is close to vanillaJS, But still feel not as close as Backbone.

I'm interested in working on modernising Backbone, But I don't think I'm skilled enough yet to build/work on a framework where compatibility is quite important IMO.

@w3guy
Copy link

w3guy commented Feb 11, 2019

Is this ever going to be released?

@megawac and @jridgewell and @jashkenas ping.

@jlsync
Copy link

jlsync commented Feb 12, 2019

I'm still using the current backbone master branch just for models and collections. It would be nice to see a release.

@jashkenas
Copy link
Owner

Everyone — I'd love to push out a 1.4 release, for the folks that want it. But I'm a little hesitant to do so without being certain that it’s not going to break anyone.

What would be extremely helpful would be if everyone in this thread would try using the latest master Backbone in their apps, and posting a comment back here saying if it works for them, or not.

@w3guy
Copy link

w3guy commented Feb 15, 2019

I am sure a number of us including myself have used the master branch without any issue.

No breaking changes AFAIK.

@ianwijma
Copy link

I can try that at work. we have multiple complex products running BackBone. :) Would not be a problem.

@paulfalgout
Copy link
Collaborator

backbone.marionette passes all tests with 1.4
Additionally my day job which is a very sizable, well tested app also passes.

@david-zacharias
Copy link

We maintain a large app running with marionette on backbone@master without issues on backbone side.

@Borming
Copy link

Borming commented Feb 18, 2019

We have multiple large backbone marionette apps written in ES6 (Babel) and they all work as expected.

@mbsquid
Copy link

mbsquid commented Feb 18, 2019 via email

@jcbrand
Copy link

jcbrand commented Feb 19, 2019

Converse.js is an open source XMPP webchat that's built on Backbone. I updated to the master branch, ran the more than 300 functional tests and also tested the app manually.

No issues so far.

@jashkenas
Copy link
Owner

Thanks, all — that was very helpful and reassuring!

Backbone 1.4.0 is now out:

🎆

@w3guy
Copy link

w3guy commented Feb 19, 2019

Thanks everyone for making this happen. Love live Backbone (and marionette)

@jaapz
Copy link

jaapz commented Feb 21, 2019

Thanks for the release everyone! 🎂

@Borming
Copy link

Borming commented Feb 21, 2019

Woohoo, very nice, thanks all !!

@webislife
Copy link

backbone forever

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests