7 ms·
Show HN: Ffftp – A Minimal FTP Client Built on Electron
- drc0 10y agominimal is clearly referred to the UI, and not the ~50MB download.
- mitchas 10y agoIt's unavoidable with Electron. I'm working on minimizing it as much as I can, but the electron base itself is 98% of the weight.
- khedoros1 10y ago> It's unavoidable with Electron. I think that's the point that they're making: Electron, due to its nature, isn't an optimal choice to build something that ought to be a small tool. This is obviously a kind of "hello world" learning experience for you, and I'm sure it'll be a useful stepping stone to work toward more complex programs that provide better justification for the footprint. And with that purpose in mind, it's a nice start. I personally don't care for some of the UI paradigms that are fashionable right now (the "flat" and "minimal" stuff), but this seems like a sane implementation of that style.
- Finnucane 10y agoYeah, 'Minimal' and 'Electron' really don't go together. What is the need for a whole browser engine attached to an FTP client?
- Ianvdl 10y agoSomething like a browser add-on is probably a better choice if the creator has a need to use web technologies.
- pavlov 10y agoElectron's footprint is rather shocking. It's essentially an entire operating system being included with each small GUI utility. For comparison, Windows 95's install package took up 19MB of disk space. So I guess Electron's 50MB is pretty efficient as far as operating systems go.
- geofft 10y agoAt what point do we get an Electron runtime that can be distributed (and kept up-to-date) separately from the apps using Electron? .NET does this, Java does this, DirectX does this, etc.
- swiley 10y agoRun a webserver on localhost that only accepts local connections (most golang utilities with GUIs do this) or use a sain UI framework.
- kethinov 10y agoI have wondered this for some time. Why is making a common runtime for Electron so difficult?
- strig 10y agoLooks like it is currently being worked on: https://github.com/electron/electron/issues/673 https://github.com/electron/electron/issues/673
- throwaway2016a 10y agoNice work. Does it support SFTP too? From a operational perspective FTP itself should be avoided for anything except public drop-box applications (IMHO). Also, best practice in node.js (and electron too) is to not put your node_modules folder in Git. You should add it to a '.gitignore' file.
- mitchas 10y agoYeah, I really have to spend some time cleaning everything up. The code itself is pretty messy too and needs to especially be split up into smaller files. This is the first electron or even real node projects I've worked on from scratch, so I'm still getting used to everything.
- benmcnelly 10y agoI tried doing this exact same thing and it wasn't as quick/easy as I hoped so I bailed, so first off, thank you for making it, and second, don't worry that its messy at least you got it started and that is the hard part.
- mitchas 10y agoOh god I nearly bailed as well. Some things were a huge pain to get working. That's why the code is so messy. A lot of old code left over from trial/error - and a lot of terrible loops to prevent dual FTP connections (which would error).
- mitchas 10y agoOh, and to answer your question about SFTP, no - not yet. I'm using JSFTP (https://github.com/sergi/jsftp https://github.com/sergi/jsftp), which doesn't have SFTP support yet. I wanted to get it up and running on both Mac and Windows before diving into that. I've found a few forks of JSFTP with it at least partially implemented, so that's the next thing I plan to tackle.
- problems 10y agoMust we wreck all the high quality GUIs we had and replace them with non-standardized, ugly and bloated Electron garbage? This would be a much better use for Qt than Electron. But I guess that's not hip enough anymore.
- mitchas 10y agoI made this because I just switched from Mac to PC. On Mac I was using Transmit, which was super easy to use and looked pretty good. I don't use FTP frequently - I just needed something basically to upload/download files. After switching to windows, I couldn't find any decent FTP clients I liked. I tried Filezilla, Winscp, Cyberduck. They're all too busy and look like they're straight from XP... so I made this. I guess I'm just not sure what you're talking about when you say "High Quality GUIs" when talking about Windows FTP clients specifically.
- fredsted 10y agoThis one looks pretty good: http://www.frenchfrysoftware.com/steed/ http://www.frenchfrysoftware.com/steed/
- SyneRyder 10y agoThat looks really good. Never heard of those folks before, but looking at their website & blog, I get a similar vibe to Panic Software (the Mac developers of Transmit). At the very least they seem to care about design. Thanks for the link!
- heywire 10y agoStrange, our McAfee firewall flags that site as containing malware.
- problems 10y agoFilezilla and WinSCP are precisely the apps I was referring to. "Straight from XP". Pfft. Windows explorer maintains about the same look in most places as well as most other windows applications. Not everything needs to be changed for the sake of change every few months.
- deleted 10y ago[deleted]
- cweagans 10y agoOkay, but why? No offense, but do we really need another FTP client in 2016?
- andrewfromx 10y agoa very very good point. I think the answer is art. People like to create art. It's just another painting but we already have other paintings. Well this is a new painting that might speak to people in a new way.
- mitchas 10y agoBasically. I get that there are several, but having just moved from developing on a mac to Windows, I didn't find one I liked. I just needed super basic - single pane. Also I wasn't a fan of how every client looked like they were straight from XP. I used this as a way to get familiar with Electron, as well. Lastly, it's open source so people can add whatever they want to it. I have a few ideas that I would love to be using myself (image previews, in-client file editing, etc), and I'm sure other people have their own features they'd want - and they can add them now.
- jgalloway___ 10y agoI think it's awesome. Sure some people think creating an FTP client is like a hello world project but I appreciate what you have done for the reasons you have stated.
- theandrewbailey 10y ago> Also I wasn't a fan of how every client looked like they were straight from XP. You keep repeating this line. If a FTP client has received heavy usage and development since the XP days, that's a good sign, I think. It proves that it is well used, tested, reliable, and capable. I'd much rather have a program with a passable UI that is lightweight and does everything I want, than one that has an unjustified resource usage to feature ratio.
- 10y ago
- andrewfromx 10y agocould not copy paste my username and password into text fields!
- mitchas 10y agoWow. That's a weird issue I never noticed since I have the credentials I use memorized. I'll try to figure it out.
- andrewfromx 10y agowhen I entered info it said connected to servername but then nothing happened. Could not get list of files.
- mosselman 10y agoThis looks great! I really like the old school style.
- coenhyde 10y agoIsn't there some moral violation here? The app looks great but we really really should not be encouraging people to use FTP. Anyone using FTP should feel weight of a thousand suns of shame.
- mitchas 10y agoHaha. I rarely use it myself - basically only for the few freelance clients I work with where they pass me the FTP credentials to make a change to a site. But for the little bit I use it, I wanted to use a program I liked :)
- dimitrov 10y agoLots of harsh language in this thread. Calling things awful, horrible and garbage isn't advancing the discussion in any sort. Stay civil.
- mitchas 10y agoHaha. I knew it'd be controversial on HN - especially with all the power users. It's more for designers/frontend who barely use FTP.
- iKlsR 10y agoIsn't one of the selling points of electron that it's cross platform, whenever I find a good app it's never available for the OS where I'd use it.
- no_protocol 10y agoI am not a fan of the way you have copied and pasted code from multiple Github Gists and/or StackOverflow without attribution.
- mitchas 10y agoYou're going to make that accusation without specifying what? Because I'm generally curious what you found.
- no_protocol 10y agoI only looked at one file. [0] The 'filesize' section is from [1], only the word 'bytes' has changed to 'B' and 'filesize' in two places. It looks like there are other copies of this same snippet in a Google search, but this one shows direct descent from [2] via the 'forked from' tag, so is probably the root of the trail. Not saying that's where you got it from, but this is clearly a derivative work. Then your 'showFocus' section is from [3] and [4], both posted under the same username. I can't immediately see any other path this piece has developed from and it doesn't seem as significant, but your copy only differs by some trailing spaces. I stopped looking after realizing over 50% of the first file I looked at was stolen from other sources without attribution. [0] https://github.com/mitchas/ffftp/blob/master/app/app.js https://github.com/mitchas/ffftp/blob/master/app/app.js [1] https://gist.github.com/napoli1890/d33c7b9056e77a8670874e93da3e992b https://gist.github.com/napoli1890/d33c7b9056e77a8670874e93d... [2] https://gist.github.com/thomseddon/3511330 https://gist.github.com/thomseddon/3511330 [3] http://stackoverflow.com/questions/22776662/catch-ng-show-event-and-focus-input-field/25870446#25870446 http://stackoverflow.com/questions/22776662/catch-ng-show-ev... [4] https://gist.github.com/ezsi/77a708fde8af5cb4d239 https://gist.github.com/ezsi/77a708fde8af5cb4d239
- Posibyte 10y agoI noticed it's phoning home to Google to do tracking. Is there a way to opt out of that?
- mitchas 10y agoI added it last minute, and it doesn't even work very well with packaged electron apps, so I'll probably remove it. I was just curious about how often it is being used.
- dkuntz2 10y ago"minimal", "electron" ??? So running an entire web browser, separate from your actual web browser is minimal?
- milankragujevic 10y agoIf you're targeting Windows, I'd recommend writing a GUI in PHP-Desktop, if you know PHP and can handle working with IE8 without destroying your PC in anger... The binaries are only 5MB + your code, and it works pretty well.