Skip to content

2016 Roadmap #724

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

Closed
leebyron opened this issue Dec 18, 2015 · 17 comments
Closed

2016 Roadmap #724

leebyron opened this issue Dec 18, 2015 · 17 comments

Comments

@leebyron
Copy link
Collaborator

Check out the roadmap for Immutable.js here https://www.facebook.com/notes/lee-byron/immutablejs-2016-roadmap/10153447836068757

This is a strawman document, which means I'm interested in your feedback on these priorities and to understand if I may have missed something.

Feel free to use this issue as a place to leave comments!

@hackwaly
Copy link

Have you seen this article (http://bendyworks.com/leveling-clojures-hash-maps/)? It might be useful to improve performance.

@SH4DY
Copy link

SH4DY commented Dec 22, 2015

@leebyron you mentioned Records in the roadmap. What is the plan for Records in combination with Typescript? I'm refactoring my TypeScript flux implementation to use ImmutableJS but atm I'm losing all the nice type generics in my React Components. I saw some issues here but I wanted to know the 'official' plan?

@ide
Copy link

ide commented Jan 1, 2016

Kind of related to API simplicity -- a REPL would go a long way. A big reason I go to the Immutable docs is to open up the Web Inspector and see what different method calls do. Building a REPL is a fairly well-defined task too so getting help from the community could be an option here.

@pemrouz
Copy link

pemrouz commented Jan 2, 2016

Nice work on the roadmap! +1 to modularisation (and any other size refinements): 55kB minified is currently too prohibitively large to embrace in many projects/frameworks. I'd like to leverage this internally in my framework, but the rest of the (full-stack) framework is 6kB, so the bloat would make it a burden for some users/cases.

Another option for the size-conscious perhaps could also be to provide a simpler .lite.js version/build?

@MSch
Copy link

MSch commented Jan 12, 2016

We're currently working on using immutable.js with flux. A complete and correct type declaration for immutable.js and good support for Records would be highly appreciated, this is the area where we've been running into roadblocks.

@SH4DY
Copy link

SH4DY commented Jan 13, 2016

@MSch yes, same problem here. Flux stores with the power of compile-time type checks have a lot of potential. Combined with immutable data structures even more. Sadly Records are not ready for TypeScript.

@dashed
Copy link
Contributor

dashed commented Jan 20, 2016

Modularity is definitely something I'm looking forward to. I've been watching the status of this at this issue #317

@dubrowgn
Copy link

To achieve this, some API changes will be necessary, for example removing myThing.toMap() in favor of Map(myThing).

I would just like to point out some issues around getting rid of toMap(). Take a look at #600 and #697. Ideally, this sort of behavior would fit better under the map() function, but you cannot specify keys via map().

@danielepolencic
Copy link

On the subject of Interoperability with JavaScript, Chrome 47+ supports customer formatters.
I wrote a simple formatter to prettify the output of Immutable.js data structures.

If this is something of interest, I'm happy to do a PR and include it in the REPL for the doc pages.

@dashed
Copy link
Contributor

dashed commented Feb 21, 2016

@danielepolencic oh man that's amazing! 👍 Definitely going to check this out. 😄

@dfguo
Copy link

dfguo commented Feb 22, 2016

@danielepolencic this is really helpful. Thanks for sharing!

@vinnymac
Copy link
Contributor

vinnymac commented Jun 7, 2016

I am looking forward to Modularity, API Simplicity (which I hope to find some time to contribute to!), and optimizations with React.

It has been requested before, but a great addition to 2016 would be the SortedMap. A helpful implementation from collection.js. I could see this being useful in several projects.

@danielepolencic I have been using immutable-devtools. Perhaps you guys could collaborate. Thanks for the formatter!

@danielearwicker
Copy link
Contributor

danielearwicker commented Jun 7, 2016

@vinnymac you tagged me, but I'm not sure why - was it intentional? :

EDIT - though I'm glad you did as this is the first time I've seen that roadmap, and it was nice to see that I implemented something on it without realising!

@vinnymac
Copy link
Contributor

vinnymac commented Jun 7, 2016

@danielearwicker github's autocomplete ranked you higher up, my mistake 😅. Happy to accidentally include you in this thread.

@cameronbourke
Copy link

Be really cool to see the roadmap of Immutable find it's way into the language eventually! The spec by Sebastian Markbage is a great start, https://github.com/sebmarkbage/ecmascript-immutable-data-structures. What are people's thoughts?

@axefrog
Copy link

axefrog commented Aug 3, 2016

I'd also like to voice my support for pre-sorted maps, sets and lists. Currently I have to add an item to an ordered map and then sort it. Even though the entire list will have already been in the correct order aside from the last item, it still takes the same amount of time to sort the new item into the correct position as it would if all of the items were out of order. The slowdown is noticeable when dealing with lists containing hundreds of thousands of items, and it's even worse with a million or more items. A sort that is applied at insertion time would mitigate this issue almost entirely. #88

@deepsweet
Copy link

any news on "Modularity"? maybe it could a good first step to transpile src/ to lib/ as is in terms of included files? so we can import Map like import Map from 'immutable/lib/Map'.

@leebyron leebyron closed this as completed Oct 4, 2017
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