yzorg / yzfolder Goto Github PK
View Code? Open in Web Editor NEWWin10 folder browser on electron and electron-plan.
License: MIT License
Win10 folder browser on electron and electron-plan.
License: MIT License
This project will have multiple implementations of the UI layer. I recently heard a podcast about
WatermellonDB and it sounds like the best fit available.
I think the real-time nature of file system (when a developer is working, and tools like compilers and bundlers are running) means that I want the UI to render from a local data cache, and changes to the local data need to be reflected (React/Vue re-render). I want the UI to be fast, which means the *data sync* will be happening *after* the cached directory list is shown. So it would be best if the app had a local, in-browser data store that was also reactive. WatermelonDB seems to fit the bill, when no others do.
When reviewing other local data libraries I kept thinking: Why can't someone just solve synchronization? But if WMDB gives me reactivity, then I think I think synchronization is solvable.
Others had promise, like GunDB, but that project seemed to spend a lot of time/effort on signing data, and other "distributed trust" scenarios that seemed way out from what I'm looking for. (Keep in mind, I'm trying to keep "first load" experience snappy, i.e. a Javascript code budget that Addy Osmani would be proud of.)
Finish the TODOs on the Prior Art wiki page.
Then consider the follow for follow-up:
I should also review other file/fstat APIs for other frameworks and libraries I admire:
Until today my top pick for in-process functional (v8/elec/node) I was planning to use Ramda+flyd.
This is over RxJS v5 (y2017) b/c RxJS makes me decide how to deduplicate message streams, where flyd does it by default. If flyd is capable of doing that by default, then I think I'll be able to do better diagnostics to prevent idiodic paths during development or "partial" scenarios like unit tests and functional tests.
Inspiration: Got this idea from https://devchat.tv/react-native-radio/expo-adam-perry. About TH1
in (1 hr in) they start talking about using Reason (FB) with React Native.
This first version will be on React, but I plan to run experiments with migrating to preact.
Downside: React Native seems to prefer native controls over HTML (web platform) UI.
Upside: the messaging and v-dom diffing moved off the UI thread -- this is much closer to my optimal mental model (where I'm trying to go long-term).
Interesting keyboard navigation (not default) to move "panes" in VS Code. Consider using ctrl+] or alt+] to switch directory "tabs" or "panes" in yzfolder.
[
{ "key": "cmd+]", "command": "workbench.action.nextEditor" },
{ "key": "cmd+[", "command": "workbench.action.previousEditor" },
{
"key": "cmd+]",
"command": "workbench.action.nextSideBarView",
"when": "sideBarFocus"
},
{
"key": "cmd+[",
"command": "workbench.action.previousSideBarView",
"when": "sideBarFocus"
},
{
"key": "cmd+]",
"command": "workbench.action.nextPanelView",
"when": "panelFocus"
},
{
"key": "cmd+[",
"command": "workbench.action.previousPanelView",
"when": "panelFocus"
}
]
from https://code.visualstudio.com/updates/v1_29#_workbench-navigation-commands
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.