this post was submitted on 07 Aug 2023
1723 points (98.4% liked)
Firefox
17958 readers
631 users here now
A place to discuss the news and latest developments on the open-source browser Firefox
founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Electron is worse for different reasons, one major one being security (e.g. my company uses Electron and we haven't updated it for a few years because reasons). But as far as delivery goes, it works pretty well, which is why it's pretty popular (Slack, VSCode, Discord, etc).
But that's the same idea as using some other GUI platform that you can lock down, like game engines, QT, or GTK. So I don't consider Electron the same as a browser because you remove the constantly changing nature of it.
Are you a graphical designer or something? If so, use the tools that help you deliver a professional product. That's why I occasionally use VSCode as a software engineer, if my preferred editor makes things difficult (I use neovim), I'll use VSCode because it's easy to configure for certain use cases. I'm more productive with my preferred tools for day to day usage though.
However, if you're a hobbyist, then you have a lot more leeway. I'm a hobbyist game dev, so I use Godot. It works well for me, and my results don't need to be as professional as I'd get with something like Unreal Engine (i.e. higher performance, better lighting effects, etc).
Oh right, thanks for the info about Electron! I've heard Discord has let their Electron version languish for several years now. I wonder how well React Native works for cross-platform mobile development... it seems like it would be easier than maintaining separate codebases. I've heard things both ways. But that's completely off-topic.
It's, uh, complicated. I have occasion to review or make minor changes to other's work, and sometimes I'm the one creating the work. I get involved in a few different creative fields, mainly... My primary job role right now has me doing web design, and I use Neovim for that. Mainly because I can SSH into my main computer from my laptop and work on the same codebase without splitting up commits, but also because I'm a Vim fanatic.
In my personal life, I use GNU/Linux for everything. I try to get acquainted with the current state of free software for doing what I want to do so I can do it faster/better next time. Some software can replace the proprietary counterpart I use for work, but the biggest problem is collaboration, of course. There aren't good exchange formats for most of these software. The only thing that calls me back to Windows is anti-cheat multiplayer games.
React Native works pretty well, we use it for my company's app. It comes with its own complications, but I think on average it's a time saver.
I approve. :)
I've been messing with my config lately and I think I have most of what I need working again. I used to do Go development, but switched to Python and needed to make a bunch of changes to my env. Even when I use VSCode for the one-off project in another language, I still use a ViM extension.
I use macOS at work because that's what the company provided, but nothing in my job requires any special software. I do need Chrome for testing because that's our primary deployment platform, but other than that I can use whatever I want. So I use 90% FOSS for my work. At home I'm 100% Linux for gaming and hobby game dev, and it works pretty well.
Nice to hear you've had a good experience with React Native! I like the idea of using native components, for both major platforms, with JS (React), meaning I don't need to learn a new language. Really, there's no better proposition than that. We'll see if I can make that my next project...
I know most people use Neovim for the larger extension ecosystem...I think. But I just use an lf integration plugin and nothing else, haha. Before that, I was using netrw but found it slow. I have some basic tab/line width settings for different programming language in my
vimrc
but not much else. I must look into extensions one of these days.Programming is one of those fields that's very easy to do on a free operating system (for the most part), though unfortunately not every field is like that yet. I'd be happy even using proprietary software like the Adobe suite on GNU/Linux if it meant I didn't need to keep macOS and Windows around (though I will express my doubt at this situation changing, ever). One step at a time. I'm just glad I've managed to change my personal workflows entirely to free software.
Eh, learning a new language isn't an issue, I already use several on a day to day basis (Rust, Python, and Go for BE, JavaScript, TypeScript, Kotlin, and Swift for FE), and it's really not an issue to switch between them.
The real value to me of React Native is two fold: one codebase for Android and iOS, and I can share code between React Native and React web. We aren't currently doing a ton of code sharing, but that's because the mobile app was built to be fairly independent of the web app in feature set, but that's changing now that the MVP is out and we're starting to work on more feature parity.
I only have a handful (like 10?). The most important ones are for:
That's about it. My init.lua is pretty basic (<100 lines, probably <50) and is completely hand-crafted, with very few remaps and mostly just indentation settings.
Some people go nuts, but I just like a mostly vanilla ViM experience with a few developer tools. I used to go crazy with all kinds of features, like file browsing, magic buffer handling, etc, but I found that I rarely needed those fancy bits once I got familiar with ViM tools.
And yeah, it's unfortunate that so many industries revolve around a handful of proprietary tools. I know it's possible to, e.g., make a video game, produce a movie, or design a marketing campaign on Linux, but the tools aren't available aren't we m industry standard and often leave a lot to be desired. I'm hopeful that as Linux continues to gain marketshare, more of these types of problems will be solved for Linux users, either by FOSS improving or proprietary software vendors supporting Linux.
Well, I don't know a single programming language well enough yet 🙂
It always trips me up when I'm switching between Python and say, Javascript. Python's syntax is so wildly different to everything else. The main reason I was interested in React Native was having a single codebase, as you say. It would be a real pain to keep two codebases in sync, especially with the haphazard way I write things at the moment...
Code sharing wasn't something I'd thought of, but that's a pretty neat benefit, too.
I've always wanted a really portable Vim setup, so I've stuck to the built-in features for a long time. Hell, I used netrw for a year until I got really annoyed by the keybindings and general sluggishness. I'm still new to programming, so I don't know what IDE features I'm missing! I learned
git
, Vim, and bash long before I did any real programming, haha. I guess I'm more experienced at system administration. Syntax highlighting would be useful though I know Vim already does some of that for some languages.My
init.vim
is 40 lines. The main thing is setting shortcuts to change the spellchecker from American to British English and back again.Technically, Lightworks is a competent video editing tool and it was used for some Hollywood movies like Pulp Fiction. So if you're willing to learn a different workflow, that is a professional tool that has better support than DaVinci Resolve for GNU/Linux. Nuke, Autodesk Maya, and other VFX/3D tools usually have GNU/Linux versions, but those aren't prosumer—they are firmly professional, which is why a license costs like $6K a year.
The major ones that don't have professional counterparts yet are Photoshop, inDesign, and After Effects (if you can't get along with Nuke, Natron, or Blackmagic Fusion as a replacement, which I can't 🙂). I would say Inkscape is a decent replacement for Illustrator, though I don't do much vector work. It helps that
.eps
is a really good exchange format. GIMP is slowly getting to the point where I would consider it to have feature parity with Photoshop at an essential level. Namely, non-destructive editing (3.0 is close, and surely 3.2 can't be that far away). And unfortunately, it doesn't matter how good of a replacement Scribus is for inDesign, because I need to deal with the.indd
format. I'll need to wait for a web version of that.Really, if Adobe supported GNU/Linux, I would be good. I don't see After Effects ever going to the web or supporting my operating system of choice, unfortunately, but everything else is fair game. I'm of course happy to be proven wrong.