HNHacker News
TopNewBestAskShowJobs

Ikryanov

55 karma · joined November 18, 2013

https://github.com/vladimir-ikryanov
submissionscomments
Ikryanov··on Ask HN: Any true alternatives to electron JavaScript?
I don't think that it's a common thing. There are many alternatives like MoBrowser, Electrobun, Wails. The choice depends on the project requirements.
Ikryanov··on Ask HN: New clean macOS install. Must-have apps? Best browser?
ClipBook
Ikryanov··on What's wrong with Electron IPC and how it could be improved
I've been working with Electron for a while, and one thing that keeps bothering me is how IPC is designed. I mean, it's pretty good if you write a simple "Hello, world!" app, but when you write something more complex with hundreds of IPC calls, it becomes... a real pain.

The problems I bumped into:

1. No single source of truth for the API between renderer and main.

2. Channel names are just strings (easy to break, hard to refactor).

3. No real type safety across process boundaries.

4. I have to manually keep main, preload, and renderer in sync.

5. The errors I can see only at runtime.

I tried to think about a better approach. Something on top of a contract-based model with a single source of truth and code generation.

I wrote my thoughts about how the current design can be improved/fixed (with code examples) here:

https://teamdev.com/mobrowser/blog/what-is-wrong-with-electr...

How do you deal with this in your project?

Do you just live with it or maybe you built something better on top of existing Electron IPC implementation?

Ikryanov··on Electrobun v1: Build fast, tiny, and cross-platform desktop apps with TypeScript
The uncompressed macOS app bundle size for Electrobun's `react-tailwind-vite.app` is ~63MB.
Ikryanov··on Electrobun v1: Build fast, tiny, and cross-platform desktop apps with TypeScript
The business logic of your app is running in the Main process using Bun runtime. The website you load or the app's frontend is running in a separate sandboxed Renderer process. When I run Electrobun app on macOS, I see that it launches the following processes with the following RAM usage:

- views://mainview (33.7MB) <- your frontend is running here

- react-tailwind-vite-dev Networking (5.4MB)

- react-tail wind-vite-dev Graphics and Media (16.7MB)

- react-tailwind-vite-dev (60.7MB)

Ikryanov··on Electrobun v1: Build fast, tiny, and cross-platform desktop apps with TypeScript
A regular Electron app for macOS (DMG) is ~80MB. Electrobun's DMG is ~16MB.
Ikryanov··on Electrobun v1: Build fast, tiny, and cross-platform desktop apps with TypeScript
A Tauri app built on CEF (Chromium) is very similar to Electron (which also uses Chromium). The key difference is that Tauri uses Rust for the application’s business logic, whereas Electron uses JavaScript.

In this case I don't know why I should use Tauri instead of Electron.

Ikryanov··on Show HN: I rewrote my Mac Electron app in Rust
You could have just write the performance critical part of your Electron app using C++ and native node module and achieve the same performance improvements. You actually did it, but using Rust instead of C++.
Ikryanov··on Show HN: I made my commercial clipboard manager open source because it's right
Wow… that’s nice to see my customer here. Thanks for your support!
Ikryanov··on Show HN: I made my commercial clipboard manager open source because it's right
Thank you!
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
Thank you for the feedback. I hope ClipBook will be useful for you.
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
Thank you for your feedback. Appreciate that.
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
Thanks for your feedback. I love the dark mode too.

ClipBook is written using Molybden SDK. It allows building UI using modern web frontend frameworks like React, Vue, Angular and write business logic using C++. In case of ClipBook: UI — React + shadcn/ui, business logic — C++ + Cocoa. I wouldn't say it's a native macOS app. I would call it a hybrid app that combines web and desktop technologies to build cross-platform desktop apps quickly.

Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
This size comes from the SDK I use to build the app — Molybden SDK. It's like Electron, but for C++ developers. This SDK allows me to create UI using React and the business logic using C++.

As for access to the source code — I see that it's very important for lots of people, so I will open the source code on GitHub. It's not a problem at all.

Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
Just checked this scenario on macOS 14.4.1 M3 Max. Works well and copy everything.
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
Thank you so much!
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
Maybe I wasn't clear. I was talking about the preview panel. Sometimes I copy content of a source code (*.cpp) file, and I need to quickly look at what I have copied in the preview panel. I have to scroll a lot to look at the source code. In ClipBook I just resize the clipboard history window to see more in the preview panel without scrolling.
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
It doesn't support images yet. I work mostly with text, so in the first versions I added support of the text content only, but support of images and files on the product roadmap. Will add it later. Thanks for your note. Appreciate that.
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
I didn't enable support for images. It's on the product roadmap. I would like to add support for files too.

As for quick edits — I do the same trick too. I will add the quick edit functionality. I miss it too.

I'm not planning to add snippets. Alfred and Raycast are really good at this.

Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
Thank you for your feedback. If you have any questions, please let me know.
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
You can resize the window using mouse. Like any other regular window. I didn't implement the resizing feature using keyboard shortcuts yet.

As for repositioning window, you can drag the window by dragging the panel with the keyboard shortcuts on the left-bottom side of the window.

Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
I think I can add this feature, so you can open the clipboard window on the screen with the currently focused window. I think a screen with the currently focused window should be treated as active. It's because I can keep my mouse cursor on secondary screen and work (type something) inside a window on the primary screen. Or just add both preferences, so you can decide yourself which screen should be treated as active.
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
I will make it open source. It's not a problem at all. Thank you for your comment.
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
Last year I answered on SO about the difference between Electron and CEF and which one to chose: https://stackoverflow.com/questions/70620182/whats-the-diffr...

I actually use an Electron-like framework to make ClipBook, but it's not Electron and not CEF. It's Electron for C++ developers. It's called Molybden SDK. I'm one of the creators of this SDK. I decided to use it, because I know it really well and it allows me to write using C++ and closely work with the operating system. It's very important when you build a software like ClipBook.

Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
There are three downloads: for Mac Apple Silicon, Intel, and Universal.

You see the 600MB binary, because it's probably Universal (Apple Silicon + Intel) DMG. To have a smaller size it's better to download DMG for your Mac CPU architecture. You can find all three versions at https://clipbook.app/download/

I should say that even Apple Silicon or Intel app will still be ~330MB. It's because of the SDK I use to build this app.

Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
I'm the creator. Thanks for your comment. It's not about paranoid. It's critical thinking and I believe everybody should use it during the Internet epoch.

I'm not hiding and you can easily find me in social networks: - LinkedIn: https://www.linkedin.com/in/vladimir-ikryanov-9334915/ - GitHub: https://github.com/vladimir-ikryanov

I will definitely need to share the source code of ClipBook, so anybody can analyze it or build their own copy of the app.

Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
I don't mind to pay for a software. Most of the software costs like two cups of coffee. The only feature I miss in Alfred/Raycast is that I cannot resize the clipboard history window to see more content in the preview panel. I copy large text and source code files. It's hard to quickly look at the source code in a small preview panel.

Maybe it's just me and I didn't find a way to resize the window. If someone knows how to do this, please share with us.

Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
Alfred is a good software, but I miss the possibility to resize the clipboard history window to see more content in the preview panel. Same issue (for me) in Raycast. If someone knows how to enable such possibility, please share with us.
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
I will add functionality to customize ANY keyboard shortcut in the app. Thank you for your feedback.
Ikryanov··on Show HN: A keyboard-centric clipboard history app for macOS
No network calls and access to external web servers (except when you check for updates). No logs and usage statistics. You can use it offline.
Page 1 of 2Next →