I was looking for a solution to deploy web apps on mobile devices on a quicker pace. For web, there is many technologies involves, and took me a while before coming across the Progressive Web Apps. After reading about it, I decided to try out the technology.
I learnt that Progressive Web Apps are installable on the user's home screen on their mobile or tablet devices, without the need for an app store. However there are need to read deeper into the documentation on the manifest file and meta tag for my web app document.
Next, in order to create a web app fast, I decide not to reinvent the wheel and look for a existing engine that I can use to expedite the time required. I happens that have past experience in HTML5, which consist of 3 distinct technologies, Hypertext Markup Language, Cascading Style Sheets and JavaScript. So by reading its documentation, I was able to quickly understand how to utilize the engine.
Once the web app is ready, it will need to deploy and test it on a mobile device. Spending a cost on the server just doesn't make sense on the exploring stage. Thus, I read on web server solution stack package, and come across the the XAMPP. With it, I will be able to deploy a local server to test locally.
Below are the links to the documentations and introduction video of the three web technologies I learnt.
With the experience, I manage to do up a rapid prototype and successfully deploy to a mobile device. Below are some the screenshots of how it is deployed as a Progressive Web App. As well as the result photo and a screen recording.
During learning the three key technology, I faced many challenges and invested a lot of time to troubleshoot, as it is still relatively new, the resources and discussion board regarding those topics was scarce. Developing the game prototype is quite easy as I have made quite some games previously in my career at Neopets. Even thought it is the first time I use JavaScript to make games, the concept in programming is pretty much the same except the structure and syntax is different, and with the game engine, I was able to make it within 3 days, which most of the time is spent understanding the engine capabilities.
The deploying part as a Progressive Web App, I must say it is the hardest, because understanding the documentation take quite some time, trying it out and failing many times is quite frustrating. Took me quite some time to research from the scarce online discussions, it will only work on a HTTPS, and that would require a SSL which cost about USD$60+ per year, and at this stage, it something that I find rather unnecessary to invest in. So with the XAMPP, I was able to deploy locally on my network and test it on my mobile phone, which after days of testing and trying, I finally made it work even though I rely a lot on reading discussion board. To able to find the relevant articles or discussions, I must say the techniques of searching with the right keywords in search engines remain an important skill-sets.
The result of the prototype allow me to analyze the capability for the PixiJS engine as well, it is quite a quick to learn engine. The Progressive Web Apps portion took me some testing before figuring out how it works, but I must say it has a lot of potential in it. I can imagine the future, when all the apps is able to deploy without going thru apps store. However, that would also means a lot of monetizing strategy will need to change, but looking at the current speed of technology disruption, I would say it is just a matter of time.
Now that I know it is a workable and the potential is there, I would want to explore further by making a few complete games, and hopefully test the engine performances on more devices to see if there are any pitfall before fully embark on it. Beside that, the nature of the PixiJS might also be useful to help my learners visualize certain programming concepts. Instead of letting them learn those concept with text based result and outcomes, this engine will be give more graphical result without needing to use much HTML and CSS. Therefore, I also want to explore it as learning tools for my learners.