DEV Community

David Cantrell
David Cantrell

Posted on • Edited on

Unicode-Search - my first Electron app!

I am a Unix greybeard who mostly works in perl and shell programming, with a bit of dabbling in C and Rust, but for a long time I've wanted to do some Javascript. I just needed an interesting enough project to use it in. Well, at work I spend a lot of time toiling in the Unicode mines, fixing mojibéke errors in a somewhat elderly code base. As part of that I wrote a guide for my colleagues, which points them at a very useful reference website run by Xah Lee. That has been around for years, but as the single maintainer of several projects myself I am wary of relying too much on projects with a single maintainer. So I decided to write my own, and that this would be my interesting little Javascript project.

It seems like a sensible choice for learning a new language, as it's not doing much, just looking up data in a static structure and displaying it to the user. It's all synchronous code, there's no I/O beyond updating a web page, and the user interface can be dead simple.

Electron's quick start guide is excellent and gave me the basic boilerplate for a "Hello World" application, and then the rest was just lots (and lots, and lots) of looking things up on Stack Overflow and W3Schools. From start to finish it took about 6 hours, and my code is on Github.

Screenshot of my little app running

I'm quite sure that those of you skilled in the ways of Javascript will find the code "idiosyncratic", but that's OK, these are baby's first steps. If you have any useful tips for improving it, and can explain them simply, then they would be most welcome. I would also welcome pull requests that make it stop looking ugly as sin. Learning how to make rounded corners and stuff in CSS wasn't in scope :-)

Update: because working on the command line is always better than using a GUI, it has sprouted a CLI tentacle. The same code does most of the work of parsing user input and looking up characters, it just has a different function for spitting the results back out to the user.

Image description

Top comments (0)