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

New build system #87

Closed
giodamelio opened this Issue Oct 6, 2015 · 21 comments

Comments

4 participants
@giodamelio

giodamelio commented Oct 6, 2015

The webui is about to get an overhaul, and the build system needs to be figured out before too much work is done.

Here are some goals

  • Modularize everything. See #73
  • Create test suit. See #38
  • Build ES2015 with Babel

The two main options are Webpack and Browserify.

Browserify:

Pros:

  • Simple, follows Unix philosophy
  • Mature and fast

Cons:

  • Integrating non-JS assets requires writing non portable shell scripts

Webpack:

Pros:

  • Fully featured. Plugins allow for awesome things like react hot-reloading
  • Loads most any type of file. All assets can be processed with one tool

Cons:

  • A bit of magic. Complicated config(well documented though)
@dignifiedquire

This comment has been minimized.

Show comment
Hide comment
@dignifiedquire

dignifiedquire Oct 6, 2015

Contributor

Another pro for webpack: Excellent hot-reloading support

Contributor

dignifiedquire commented Oct 6, 2015

Another pro for webpack: Excellent hot-reloading support

@dignifiedquire

This comment has been minimized.

Show comment
Hide comment
@dignifiedquire

dignifiedquire Oct 6, 2015

Contributor

Also a point to think about: finding a common setup for different UI parts so that we don't have to rediscuss this on every project. Electron-app is currently getting a webpack setup with hot reloading and assets bundeling in ipfs-shipyard/ipfs-desktop#43 which I feel would very well work for this project as well.

Contributor

dignifiedquire commented Oct 6, 2015

Also a point to think about: finding a common setup for different UI parts so that we don't have to rediscuss this on every project. Electron-app is currently getting a webpack setup with hot reloading and assets bundeling in ipfs-shipyard/ipfs-desktop#43 which I feel would very well work for this project as well.

@giodamelio

This comment has been minimized.

Show comment
Hide comment
@giodamelio

giodamelio Oct 6, 2015

I am thinking along the same lines. We could create a repo of IPFS related react components, that could be shared between the electron app, webui and any other future JS projects.

Another option is web components. Browser support is decent, and I believe there are polyfills. I don't know if the tooling is there yet though.

giodamelio commented Oct 6, 2015

I am thinking along the same lines. We could create a repo of IPFS related react components, that could be shared between the electron app, webui and any other future JS projects.

Another option is web components. Browser support is decent, and I believe there are polyfills. I don't know if the tooling is there yet though.

@jbenet

This comment has been minimized.

Show comment
Hide comment
@jbenet

jbenet Oct 6, 2015

Contributor

Take a look at the webcomponents work by @krl -- ideally many of these could be webcomponents living on ipfs itself.


Sent from Mailbox

On Tue, Oct 6, 2015 at 12:56 PM, Friedel Ziegelmayer
notifications@github.com wrote:

Also a point to think about: finding a common setup for different UI parts so that we don't have to rediscuss this on every project. Electron-app is currently getting a webpack setup with hot reloading and assets bundeling in ipfs-shipyard/ipfs-desktop#43 which I feel would very well work for this project as well.

Reply to this email directly or view it on GitHub:
#87 (comment)

Contributor

jbenet commented Oct 6, 2015

Take a look at the webcomponents work by @krl -- ideally many of these could be webcomponents living on ipfs itself.


Sent from Mailbox

On Tue, Oct 6, 2015 at 12:56 PM, Friedel Ziegelmayer
notifications@github.com wrote:

Also a point to think about: finding a common setup for different UI parts so that we don't have to rediscuss this on every project. Electron-app is currently getting a webpack setup with hot reloading and assets bundeling in ipfs-shipyard/ipfs-desktop#43 which I feel would very well work for this project as well.

Reply to this email directly or view it on GitHub:
#87 (comment)

@giodamelio

This comment has been minimized.

Show comment
Hide comment
@giodamelio

giodamelio Oct 6, 2015

Hmm, that's interesting(Link). I like the idea of having separate web components hosted on IPFS. The tooling needs some work though. I will have to read up on web components.

giodamelio commented Oct 6, 2015

Hmm, that's interesting(Link). I like the idea of having separate web components hosted on IPFS. The tooling needs some work though. I will have to read up on web components.

@dignifiedquire

This comment has been minimized.

Show comment
Hide comment
@dignifiedquire

dignifiedquire Oct 6, 2015

Contributor

To be honest I'm not a big fan of web components after reading up on them a bit more, also it looks like react + web components is not a really good fit facebook/react#5052

The stuff from @krl looks interesting but I can't help but wonder, what actual benefit do we get from using web components instead of just creating dist bundles that live on ipfs.

Update I might be missing something here entirely in the connection between web components and ipfs, so sorry for my ignorance if that's the case.

Contributor

dignifiedquire commented Oct 6, 2015

To be honest I'm not a big fan of web components after reading up on them a bit more, also it looks like react + web components is not a really good fit facebook/react#5052

The stuff from @krl looks interesting but I can't help but wonder, what actual benefit do we get from using web components instead of just creating dist bundles that live on ipfs.

Update I might be missing something here entirely in the connection between web components and ipfs, so sorry for my ignorance if that's the case.

@giodamelio

This comment has been minimized.

Show comment
Hide comment
@giodamelio

giodamelio Oct 6, 2015

Web components don't have anything todo with IPFS per-say, it's more the fact they are a standard instead of a library. They are supported natively.

giodamelio commented Oct 6, 2015

Web components don't have anything todo with IPFS per-say, it's more the fact they are a standard instead of a library. They are supported natively.

@dignifiedquire

This comment has been minimized.

Show comment
Hide comment
@dignifiedquire

dignifiedquire Oct 6, 2015

Contributor

Not sure I would say this is real native support: http://caniuse.com/#search=web%20components

Contributor

dignifiedquire commented Oct 6, 2015

Not sure I would say this is real native support: http://caniuse.com/#search=web%20components

@giodamelio

This comment has been minimized.

Show comment
Hide comment
@giodamelio

giodamelio Oct 6, 2015

Ya, support is not too good yet. I think there are some polyfills, but it doesn't seem ready yet.

giodamelio commented Oct 6, 2015

Ya, support is not too good yet. I think there are some polyfills, but it doesn't seem ready yet.

@jbenet

This comment has been minimized.

Show comment
Hide comment
@jbenet

jbenet Oct 8, 2015

Contributor

WebComponents is a very important internet standard, and we've been talking to a lot of people about them. One exiting thing is making a big push to make WebComponents that live on IPFS and need no origin server at all, that anybody can use, like true "npm modules for frontend". These can often be small enough that we can offer to pin them for people.

WebComponents is the result of pushes towards creating true modular, reusable pieces for UIs. they have significant traction already, and we stand a chance to improve the ecosystem dramatically by coming up with good ways to {find, serve, archive} these.

Another thing i'm very excited about is being able to make an app from scratch and use WebComponents for the hard stuff, directly from the web. never touch a locla server. only browser, a known ipfs gateway (with write access), and some WebComponents in the network.

Contributor

jbenet commented Oct 8, 2015

WebComponents is a very important internet standard, and we've been talking to a lot of people about them. One exiting thing is making a big push to make WebComponents that live on IPFS and need no origin server at all, that anybody can use, like true "npm modules for frontend". These can often be small enough that we can offer to pin them for people.

WebComponents is the result of pushes towards creating true modular, reusable pieces for UIs. they have significant traction already, and we stand a chance to improve the ecosystem dramatically by coming up with good ways to {find, serve, archive} these.

Another thing i'm very excited about is being able to make an app from scratch and use WebComponents for the hard stuff, directly from the web. never touch a locla server. only browser, a known ipfs gateway (with write access), and some WebComponents in the network.

@giodamelio

This comment has been minimized.

Show comment
Hide comment
@giodamelio

giodamelio Oct 15, 2015

I am going to try to build a simple web component (unrelated to webui), and maybe come up with something that could be used as a template for making IPFS hosted web components.

giodamelio commented Oct 15, 2015

I am going to try to build a simple web component (unrelated to webui), and maybe come up with something that could be used as a template for making IPFS hosted web components.

@dignifiedquire

This comment has been minimized.

Show comment
Hide comment
@dignifiedquire

dignifiedquire Nov 19, 2015

Contributor

@giodamelio going to start work on a build system that integrates webpack with ipfs as best as possible soon. Let me know if you are still interested in helping out

Contributor

dignifiedquire commented Nov 19, 2015

@giodamelio going to start work on a build system that integrates webpack with ipfs as best as possible soon. Let me know if you are still interested in helping out

@giodamelio

This comment has been minimized.

Show comment
Hide comment
@giodamelio

giodamelio Nov 19, 2015

@dignifiedquire Yes, I do want to help out. Is there going to be a new branch that I can track?

giodamelio commented Nov 19, 2015

@dignifiedquire Yes, I do want to help out. Is there going to be a new branch that I can track?

@dignifiedquire

This comment has been minimized.

Show comment
Hide comment
@dignifiedquire

dignifiedquire Nov 19, 2015

Contributor

@giodamelio there will be, I'm still researching some things but will add a reference here as soon as I have some code

Contributor

dignifiedquire commented Nov 19, 2015

@giodamelio there will be, I'm still researching some things but will add a reference here as soon as I have some code

@giodamelio

This comment has been minimized.

Show comment
Hide comment
@giodamelio

giodamelio Nov 19, 2015

Thanks

On Thu, Nov 19, 2015 at 12:41 PM Friedel Ziegelmayer <
notifications@github.com> wrote:

@giodamelio https://github.com/giodamelio there will be, I'm still
researching some things but will add a reference here as soon as I have
some code


Reply to this email directly or view it on GitHub
#87 (comment).

giodamelio commented Nov 19, 2015

Thanks

On Thu, Nov 19, 2015 at 12:41 PM Friedel Ziegelmayer <
notifications@github.com> wrote:

@giodamelio https://github.com/giodamelio there will be, I'm still
researching some things but will add a reference here as soon as I have
some code


Reply to this email directly or view it on GitHub
#87 (comment).

@diasdavid diasdavid referenced this issue Dec 21, 2015

Closed

Sprint Dec 21 #76

@dignifiedquire dignifiedquire referenced this issue Dec 21, 2015

Merged

Improve build process #130

10 of 11 tasks complete

@dignifiedquire dignifiedquire self-assigned this Dec 21, 2015

@RichardLitt

This comment has been minimized.

Show comment
Hide comment
@RichardLitt

RichardLitt Dec 24, 2015

Contributor

@dignifiedquire Where are we at the moment?

Contributor

RichardLitt commented Dec 24, 2015

@dignifiedquire Where are we at the moment?

@dignifiedquire

This comment has been minimized.

Show comment
Hide comment
@dignifiedquire

dignifiedquire Dec 24, 2015

Contributor

@RichardLitt somewhere in the middle ;) My pr does webpack + es2015 + base test setup, so we are only missing modularization which I want to delay until we have the code in a better state

Contributor

dignifiedquire commented Dec 24, 2015

@RichardLitt somewhere in the middle ;) My pr does webpack + es2015 + base test setup, so we are only missing modularization which I want to delay until we have the code in a better state

@RichardLitt

This comment has been minimized.

Show comment
Hide comment
@RichardLitt

RichardLitt Dec 24, 2015

Contributor

Ok, cool. So, the next step for people wishing to close this issue are: check out other issues, and see if there is anything you can do for them?

Contributor

RichardLitt commented Dec 24, 2015

Ok, cool. So, the next step for people wishing to close this issue are: check out other issues, and see if there is anything you can do for them?

@dignifiedquire

This comment has been minimized.

Show comment
Hide comment
@dignifiedquire

dignifiedquire Dec 24, 2015

Contributor

@RichardLitt I think I will close this issue as soon as #130 is merged and create more modular issues around all the things needed to be done.

Contributor

dignifiedquire commented Dec 24, 2015

@RichardLitt I think I will close this issue as soon as #130 is merged and create more modular issues around all the things needed to be done.

@RichardLitt

This comment has been minimized.

Show comment
Hide comment
@RichardLitt

RichardLitt Dec 25, 2015

Contributor

Sounds good.

Contributor

RichardLitt commented Dec 25, 2015

Sounds good.

@RichardLitt

This comment has been minimized.

Show comment
Hide comment
@RichardLitt

RichardLitt Jan 2, 2016

Contributor

Whoop!

Contributor

RichardLitt commented Jan 2, 2016

Whoop!

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