Comments (8)
Something is being worked on in angular using Electron https://github.com/butterproject/butter-desktop-angular
from butter-desktop.
@rafaell-lycan, I used Electron, JSPM and AngularJS for gifmaker.io and I am very pleased about it.
AngularJS could be React (with Flux or Relay or Fynx or whatever), but I don't think I would ever replace Electron or JSPM.
The build system is Gulp, but I don't use any Gulp plugins. Gulp or Grunt plugins just complicate things on big projects. Just replace gulp.src()
, with node-glob and use the actual stuff instead of lame Gulp plugins that keep failing at every edge case. When you transpile your Gulpfile with Babel, you can also use ES7 async/await. With q's Q.nfcall()
and Q.ninvoke()
you can do stuff like:
import gulp from 'gulp';
import glob from 'glob';
import fse from 'fs-extra';
const qlob = Q.nfcall.bind(Q, glob);
async function clean() {
await* [
Q.nfcall(fse.emptyDir, 'temp'),
Q.nfcall(fse.emptyDir, 'dist'),
];
}
async function buildCSS() {
const cssFiles = await qlob('src/*.css');
await cssBuilder.build(cssFiles);
}
async function buildJS() {
const jsFiles = await qlob('src/*.js');
await jsBuilder.build(jsFiles);
}
async function pacakageApp() {
// whatever...
}
gulp.task('build', gulp.series(
clean,
gulp.parallel(
buildCSS,
buildJS,
),
packageApp
));
It's really great to have control over your build system.
Electron also has some nice tools to make packaging easier. You can easily create DMGs for OS X and NSIS installers for Windows. Auto updater support for Windows also landed today so that's covered for OS X and Windows too.
@MrAdder, CoffeeScript, really? Grunt? Where is the good stuff?
2/10, wouldn't contribute.
from butter-desktop.
@AlicanC nice stuff, I'd like to work in some project with you soon. I've using some Gulp plugins because of Browserify and Babel (Babelify), very easy and nice.
@MrAdder for me Grunt it's OK, but Coffee and Stylus? Why? Things need be simple. I prefer to use Pure ES6 JavaScript and some soft pre-processor like Sass (.scss) or LessCss.
But this isn't about me 👻
from butter-desktop.
I did not make this project I just linked it as they are already working on Angular and Electron :)
from butter-desktop.
@rafaell-lycan, you should really give JSPM a shot. It manages your packages, transpiles JS with Babel (or Traceur or TS) and you can also import CSS and text (and much more) right in your JS so you don't worry about bundling your CSS or templates and such. That reduces your build process from something like "build css->build js->...->bundle" to just "bundle".
We do very few things in our build system:
- Bundle with
jspm
. (Just 4 lines for JS, CSS and everything.) - Build application with
electron-builder
. - Package application with
electron-packager
. - Upload package to Azure.
Zero Gulp plugins and very few dependencies overall. Weeks pass, I move from CSS to LESS, I add or remove tons of dependencies and whatever and I don't even touch the build system even once.
JSPM handling all the hard work dramatically reduces weight of the build system (and the time you spend on it).
I would like to see Butter adopt a modern environment which would make it fun to contribute.
from butter-desktop.
patches are welcome, if it's a huge change, please make a new repository and we'll include it here, eventually devs and the users community will choose the one that works best for them.
that said rewriting is always much harder than it sounds
from butter-desktop.
@xaiki, patches are welcome for what? No one's going to rewrite the whole build system or w/e just to get the PR rejected. We should discuss and open separate issues for each change that was agreed on. Then you can mark them "prs accepted" or "contributions welcome" if the core contributes don't want to spend time for them.
from butter-desktop.
Why not simply using the same stack as Netflix?
Most of it is open sourced, React, Babel, and probably Webpack.
from butter-desktop.
Related Issues (20)
- Collaboration with Nuclear HOT 1
- Black screen HOT 2
- Doesn't run on Linux using flatpak
- Doesn't run on Linux using flatpak HOT 1
- Not connecting and downloading
- Bug: Thumbnails not loading. HOT 1
- [Feature Request] In App Torrent Search Using Jackett API
- Contribute guide is missing
- Using Yarn to build failed
- two device can not be sync
- unable to run yarn build & start HOT 1
- Add appimage support HOT 3
- Enable startup notifications
- Database directory field uneditable
- Unmaintained ?
- You're hosting on GitHub HOT 1
- "Watch Now"
- Bug: avengers infinity war subtitles in french are shifted HOT 1
- New Update is not working. Low quality 480P is not loading and following errors shwing as in screenshot HOT 3
- Bug:
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from butter-desktop.