HNHacker News
TopNewBestAskShowJobs

alexgrigoryan

71 karma · joined October 3, 2016

submissionscomments
alexgrigoryan··on Next.js – A small framework for server-rendered universal JavaScript apps
Thanks for the support! I'm glad you like it! :D
alexgrigoryan··on Electrode: A universal react/node application platform by Walmart Labs
Hello!

Best forum, I think right now it's github. We haven't spread out to anything like discourse or slack (for an external forum). Maybe we should!

For example apps, we have: https://github.com/docs-code-examples-electrode-io

which is basically the code you go through on the docs. Hope that helps!

alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Yup! People have their preferences! We are working on it this month.

Until then, please check out Electrode Modules, they are independent of Hapi or Electrode Core:

http://www.electrode.io/docs/stand_alone_modules.html

alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Thank you for the question.

I think that WalmartLabs is investing in OneOps and investing into marketing it to developers. I know our OneOps folks have been at the OpenStack conferences recently and are doing their best to engage with the community.

Regarding Electrode, we will do our best to market to developers and grow adoption. I'll be at multiple conferences in the coming months, have talked in meet ups, writing blog posts to go more in-depth. I'm not in marketing or PR though, so any tips are always appreciated :).

alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Happy to receive feedback, do you have suggestions on what we should call it?
alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Your contact information is in your HN profile, I'll have our recruiters ping you with the opportunities we have available @WalmartLabs.
alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
The Application Platform team (folks who created Electrode) is mostly based in the Sunnyvale office.
alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Electrode is just the front end platform. We also have OneOps for our app server lifecycle management. Test Armada for automation.

I don't know of anything lower in the stack that was open sourced than what I mentioned.

The stuff we didn't put into the Electrode platform that is integrated internally, off the top of my head:

1. Integrations to our global config manager, that allows us to turn flags on/off in real time.

2. Integrations to our A/B Testing Tools

3. Integrations to our content management

4. Logging/Analytics/Metrics Integrations

5. Our CSS styles and Icons

As you can see, almost everything is open sourced :)

alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Because of our focus on server side render, we deliver the browser HTML - you should be good to go with SEO :).

Walmart.com uses it and we care deeply about SEO!

alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Your question is completely fine to ask, but I unfortunately don't know the answer, sorry.

On a side note, just fun info, I know that Walmart.ca will be moving to electrode eventually, we don't have a date on the roadmap yet. We've built Electrode to be able to reuse the same components while maintaining a different brands styles, content, etc

alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Thanks for the feedback about the documentation. We will work on improving it, especially around archetype.

Exogen, hope we can use what you wrote :D

alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Great question, we definitely took a hard look on if we should transform our tech stack or not (and decided to do it) - to really answer this question though, you would need to understand our previous stack, what was holding us back, and where we wanted to go. I'm not sure if reading about our previous stack and why we moved is an interesting blog post or not :).
alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Internally, we do have a set of blessed libraries to keep the site and teams unified. To ensure we don't go stale, we usually have a team or so experimenting with something that we can bring into "Electrode Core".

Externally, for the "Electrode Core", we will continue to maintain a set of libraries that play well together, but I expect to see people doing their own thing. I see what we are doing with core as more of a jumping off point for your app and setting you on the right path for managing many apps/components (with our notion of archetypes that manage your dependencies instead of top level app) and than people will mix technologies that they want.

We will continue to maintain our list though and manage dependencies through archetype (I think archetype is a powerful idea).

"Electrode Modules and Electrode Tools" are independent to the rest of Electrode. You can use these modules/tools independently of Electrode Core.

alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
The switch of creating this platform, changing the walmart.com tech stack, and open sourcing it is less than a year :). Has been a wild ride!
alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
I hope you like it! I personally think that the above the fold content, server side caching, and redux-router-engine will make a positive impact on the server side rendering react community. We saw HUGE gains in performance using these.

We are working on a blog post that goes through the performance numbers we saw on the live site.

I also think Electrode Explorer will be popular for bigger companies that have many components.

http://www.electrode.io/docs/electrode_explorer.html

P.S. I'm from the Electrode team.

alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
My blog post that talks more about the release: https://medium.com/walmartlabs/introducing-electrode-an-open...
alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
That is correct, but please take a look at my other comment that explains where we are going with the hard tie to Hapi.
alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Yup, we are big fans of Hapi.js and that's what we use internally for walmart.com, but one of our goals in October is to disconnect the tieing of Electrode and Hapi.js - that way you can use whatever web framework you want with Electrode. Internally, we will continue to use Hapi though.
alexgrigoryan··on WalmartLabs open sources the application platform that powers Walmart.com
Hope you find the docs useful. We try to walk through building an app together.

We are working on breaking down everything inside our app for people who are starting off can get a jumping start, but than read through everything that's inside the app to understand better what's happening underneath the hood (such as, what's in the webpack config).

alexgrigoryan··on Electrode: A universal react/node application platform by Walmart Labs
Alex from the Electrode team here.

By default, Electrode uses Server Side Render, which means that the rendering happens on the nodejs server and delivers the browser HTML (so we are in good shape for SEO). That capability is one of the key reasons (but not only reasons) we decided to go with React.

A lot of our modules focus on making that server side render more performant.

Specifically:

http://www.electrode.io/docs/above_fold_rendering.html

http://www.electrode.io/docs/server_side_render_cache.html

http://www.electrode.io/docs/redux_router_engine.html

alexgrigoryan··on Electrode: A universal react/node application platform by Walmart Labs
Please note a lot of our focus on performance is around server side rendering (universal js/ isomorphic js). I'm trying to write a blog post around our performance improvements on a per module basis (it takes time to get good data and writing good content is hard :D).

You can use these specific SSR performance enhancing modules without the rest of Electrode:

http://www.electrode.io/docs/above_fold_rendering.html

http://www.electrode.io/docs/server_side_render_cache.html

http://www.electrode.io/docs/redux_router_engine.html

I agree, there are tons of platforms and when your starting out fresh, it's difficult to grasp the millions of ways to do things. We tried to focus heavily on documentation and building an application together for the folks that are new to the ecosystem. If you look at our docs, we try to build an application with you and we break it down from basics (get app running and deploy), to more intermediate (make plug ins, add routes, we will add material UI docs), to more advanced (lets do SSR rendering, above the fold rendering only, etc).

For small apps, we try to have a more barebones app using `yo electrode` instead of the boilerplate (which has everything), and get you deployed to Heroku or Google Cloud quickly (our docs break down how to do it, step by step).

The big thing we are missing for folks that are new to the ecosystem is what's inside our archetype and what goes inside a production app (the webpack configs, linting, css modules, and so much more). We are working on this part.

The benefit of WalmartLabs backing this project and actually using it internally to power walmart.com (and samsclub.com + grocery.walmart.com next year) - we are extremely sensitive to breaking changes. If we release a breaking change, we hear lots of groans around our desk and a line of folks expressing themselves :).

alexgrigoryan··on Electrode: A universal react/node application platform by Walmart Labs
We've been using the name Electrode internally (In @WalmartLabs as we have been transforming the stack to this platform) for the past year, and we have a cute logo! We discussed switching the name with "Electron" picking up steam, but there was a lot of attachment internally to the name Electrode.