![]() ![]() ![]() The application is written in an imperative functional style.Īlmost everything in the application is either a function or a collection of closely related functions.ĭespite being functional the code remains extremely imperative as abstractions exist to impose code reuse not suppress what the application code is actually doing internally. I chose to write the application in TypeScript and define types for everything, most especially function arguments and return types. The application scales with ease, because the architecture is simple. The various test automation components provided insight into the performance of the application's various features that I did not have before, so then I could also monitor and solve for performance. So, I wrote various test automation components. Quickly the application became too challenging for a single person to develop with ever increasing complexity and regression. Then came permissions and security access, build tools, trusted certificates on different operating systems, an installation script, web sockets with authenticated permissions, and on, and on. I made that work faster than expected and then asked the next question: Could I provide remote access to this interface from another computer? It started as an experiment to see if I could provide full access to the local file system from an interface within the web browser before the standard file system API became available to the browsers. ![]() That application did not start out as an operating system or anything ambitious at all. I learned so much about architecture from writing an operating system in TypeScript and Node.js for 3 years. Architecture is the practice of planning and assembling the internal backbone of an application. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |