And then the Wails tools packages it all up and bundles it together into a single binary. So it’s very natural, like building a web with a server, but the server just happens to be running locally on the machine. It’s all transparent, so it’s very easy, and it’s kind of like a promise API, so you make a call to the backend, you get back a promise… If there’s an error, then you use the catch to handle it. You can just expose Go methods to the frontend and call them in JavaScript. And to be honest, you do notice that I think they’re very snappy UIs when you use Svelte… So in theory that makes the projects much faster when you use them. And it also has this other effect that I’m sure is well known - it basically does a lot of its work at compile-time, not at runtime. It gives you a small feature set, just enough, and therefore it’s kind of easier to use. It doesn’t do everything, it doesn’t give you all these complicated features. I got into Svelte, which is a UI JavaScript framework, and it has a similar philosophy as Go, in that it tries to be minimalist. I mean, you essentially can use your own UI frameworks, and I quite enjoy building UIs as well. Well, fortunately, the Wails project does a lot of the heavy lifting for you. Now, yours was just a really – I mean, you could think of it like a really one of those… And then when it came time to take it seriously, after it has a user base, it’s found a niche etc, now let’s take what we’ve learned and let’s do it in a language that you’re very proficient in, and do it right the second time. It’s smart to write a thing – that’s why we have the term “spike”, right? Go spike out a thing, a proof of concept, a prototype, and then write it for real. But we tend to just put those things into production and just build on them over time. We’re supposed to throw away our first versions, right? That’s one of the problems with a lot of software, is we write our prototype, and a prototype is not meant to be the production thing, right? It’s supposed to be the first version, by which you build the real thing. So people warn against the big rewrite… But small rewrite, not so bad, especially when the version – I mean, it was kind of like you just shipped a prototype for a while. It was people building amazing things with this, and it was great. So yeah, I was kind of a bit nervous, and a bit worried about that, but also just basically very excited that there were all these plugins, and I was excited by what the plugins were doing. So I think people also contributed there and fixed things and helped out… So you have to retain objects and release them at the right time, and things like that… So that’s actually really difficult to get right. I’ve since added the ARC stuff, the automatic reference counting for objects, and memory allocation… It didn’t have that. People even submitted fixed where – you know, you have to manage your own memory then. I really didn’t know Objective-C very well at all. So it was great, it was like winning the lottery, or something. It was all of a sudden there were lots of people using this and lots of people contributing to it. And that was a big surprise… I had to take a day off work, because I wanted to reply to people in the community, and also wanted to get the plugins merged into the repo, so that other people could use them… So this instant community sprung up it wasn’t something that grew organically. Yeah, so there was 65 pull requests in one day, and I was getting an email for all of it… So that’s how I found out, I just suddenly had lots of spam.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |