ethereum / mix

The Mix Ethereum Dapp Development Tool
http://www.ethereum.org
MIT License
166 stars 256 forks source link

Building Mix on top of Atom #259

Closed holgerd77 closed 8 years ago

holgerd77 commented 8 years ago

Hi, I didn't dare to pose this question for a long time, but since it pops up in my head again and again and after I stumbled on this http://platformio.org/#!/platformio-ide PlatformIO I now actually want to raise it at least once: wouldn't it make sense to build the Mix IDE on top of Atom/Electron?

I know this is one of the least favorite question towards developers ("Hey, since I haven't done all the hard work, why don't you rebuild the whole thing?"). But my impression is, that Mix - despite surving its core purpose well - is still very rough around the edges and it will be hard for a small team to add all the functionality people are expecting from a modern IDE.

Atom comes with all this editor/IDE functionality already built-in (editing features, file and project management, cross-platform deployment), and further development and maintenance of all this will be secured and for free. Maybe there is even some c++/Javascript bridge to connect into the core functionality of the current Mix code base without too much rewrite. And there is already syntax highlighting for Solidity and Serpant https://github.com/caktux/language-ethereum, which could be reused.

Since Mist is also building on top of Atom/Electron I think it is also pretty likely that there are cross-benefits from choosing the same technology stack.

Again: sorry for that. I know the delicateness of such questions (also from the other side of the table :-)).

chriseth commented 8 years ago

We might consider converting mix into a dapp. My personal experience with atom is that it is too slow to be usable (at least for c++ projects), but making mix more modular and portable (by moving it to generic javascript and not qml) might be beneficial.

We could explore whether it makes sense to move what is currently implemented in c++ into a backend node that communicates via jsonrpc and move what is currently qml to a html5+js+web3.js frontend.

What do you think, @yann300 ?

bobsummerwill commented 8 years ago

My personal experience with atom is that it is too slow to be usable (at least for c++ projects)

Right, but the volume of code will be orders of magnitude lower for this scenario, won't it?

yann300 commented 8 years ago

I think it could be very beneficial to move to a full JavaScript application. It will be much more efficient to work with JavaScript than QML and we could run Mix in another context than desktop application. I'm just worried on the amount of work to do that... We could also consider developing coming features in HTML/JavaScript (using QtWebEgine) using QML only as a proxy between C++ and JS. This will maybe lead to some layouting issues but we will be more prepared to switch to a full js application.

bobsummerwill commented 8 years ago

Yeah, @yann300.

If doing a feature is workable, then that seems a sensible approach for us to "dip our toe in the water", doesn't it?