Giter Site home page Giter Site logo

Javascript Version about planout HOT 12 CLOSED

facebookarchive avatar facebookarchive commented on June 2, 2024
Javascript Version

from planout.

Comments (12)

eytan avatar eytan commented on June 2, 2024

Awesome! I am not aware of any ports. I was thinking of coding it myself
in Flow, but haven't had the time. I am about to open-source the
Hack-based interpreter, which is strongly typed, so porting from that
should be fairly straightforward. Otherwise I would strongly recommend
using ES6 and using a transpiler in with npm. I would also be happy to
follow along and review intermediate versions of your port if you'd like.

On Tue, Jan 6, 2015 at 10:43 AM, Ernie [email protected] wrote:

Are you aware of any JS versions of Planout, whether fully fleshed out or
in flight? Wanted to check before I started an implementation. Thanks!


Reply to this email directly or view it on GitHub
#40.

from planout.

eipark avatar eipark commented on June 2, 2024

Great, thanks. Please throw a note in here when the Hack-based interpreter is out. I'm not sure how much of Planout we'll need at this point - we may just want a very small subset of features/concepts to start. But if we end up needing more and more, I'll start throwing in some PRs/code reviews.

from planout.

eipark avatar eipark commented on June 2, 2024

What's the minimum subset of stuff required for an impl? Is it just everything minus namespaces? And my choosing of operators?

from planout.

eytan avatar eytan commented on June 2, 2024

I would say the Experiment object, the Assignment object, and the random assignment operators would be sufficient for running ad-hoc experiments using a native API. Check out the Ruby port -- it's pretty much as bare bones as you can get, but is still fully functional:
https://github.com/facebook/planout/tree/master/alpha/ruby

Of course, having the full interpreter would be awesome, but I wouldn't bother with Namespaces. We are going to completely revamp the namespaces pretty soon anyways.

from planout.

eipark avatar eipark commented on June 2, 2024

Thanks - would you be able to shed light on some of the expected changes on namespaces? We have a need for them so even what's there now would be useful for us.

from planout.

eytan avatar eytan commented on June 2, 2024

Basically, the namespace class is overloaded: it both manages and retrieves the experiments. The stuff that manages the experiments really ought to belong in its own class. Also, there are various things implemented by SimpleNamespace that should be part of the AbstractNamespace. For example, addExperiment could be written as part of the abstract base class, and rely on some method called allocateSegments. See discussion with @akalicki about proposed re-organization at vimeo/ABLincoln#1 (comment) and his PR, vimeo/ABLincoln#3. Note that none of these are fundamental changes to the way stuff works, it's just a matter of cleaning up the code underneath the hood.

from planout.

eipark avatar eipark commented on June 2, 2024

Got it thanks.

from planout.

eytan avatar eytan commented on June 2, 2024

btw, you might want to use the 'long' npm module. AFAIK the PlanOut hashing procedure requires more bits than JS natively supports.

from planout.

eytan avatar eytan commented on June 2, 2024

@eipark , feel free to throw up whatever you've got in alpha/. You'd be surprised what other people pick up once you put a little bit of code out there.

from planout.

eipark avatar eipark commented on June 2, 2024

Will do.

from planout.

eytan avatar eytan commented on June 2, 2024

@eipark See @rawls238's port in alpha/js. It's pretty comprehensive.

from planout.

eipark avatar eipark commented on June 2, 2024

For anyone who comes across this issue, HubSpot now maintains a JS port of planout, which is linked to on the PlanOut splash page also.

from planout.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.