Re: Asteroid Project [HTML5, Angular, Node, Socket]
Quote:
Originally Posted by
The General
Habbo uses that protocol because its the default Buffer serialization in Actionscript. Use the tools available instead of reinventing the wheel by writing your own serializers.
Actionscript Documentation
JSON is the better choice in this terms as it doesn't need serialization on Clientside (as it's a JS native notation), so it only needs serialization on Serverside if using a language like Java or C#, if he writes the client using JS/TS (Node.JS) it will never needs to be serialized on any of both places, that could be time consuming.
Re: Asteroid Project [HTML5, Angular, Node, Socket]
Well there is a choice, if you want easy integration with existing emulators then you'd pick the protocol of those emulators if adding an extra protocol is not trivial.
If you were writing your own server then pick whatever works for you.
Serialization is not that time consuming, just let it run in a different thread as to not to block the main rendering thread and it should be fine. Dont prematurely optimize because you're worried of something you have not encountered yet. And if in the end your serialization is slow and its not trivial to replace, then thats a design flaw and your software has bigger problems than slow serialization.
Re: Asteroid Project [HTML5, Angular, Node, Socket]
Quote:
Originally Posted by
The General
Well there is a choice, if you want easy integration with existing emulators then you'd pick the protocol of those emulators if adding an extra protocol is not trivial.
If you were writing your own server then pick whatever works for you.
Serialization is not that time consuming, just let it run in a different thread as to not to block the main rendering thread and it should be fine. Dont prematurely optimize because you're worried of something you have not encountered yet. And if in the end your serialization is slow and its not trivial to replace, then thats a design flaw and your software has bigger problems than slow serialization.
Writing something new and getting stuck with old shit, like this packet-structure conceived for 56k connections, losing time only to get emulators to be compatible is a stupid thing: better move the ass and write new backends.
Forcing compatibility with old Emulators only limits the imagination and ability to insert new features and change actual one in a better way than they are now. There's anything good in doing this (is only good for who want to use this project with zero-effort on understanding a modern backend design or who worries about him not releasing the backend).
Re: Asteroid Project [HTML5, Angular, Node, Socket]
Quote:
Originally Posted by
LeChris
Why Angular over a smaller library such as Vue or React? Less overhead from Angular would allow for a better performance on the client itself
I disagree. From my experience Angular is the fastest library when it comes to large-scale and complex applications. However, the development time takes much longer for new Angular developers. Angular isn't easy to understand and the forced usage TypeScript may be overwhelming. Also, I think Angular is much easier to work with in large groups because the code is overall cleaner and better in the modular aspect. VueJS and ReactJS are capable of running an application like this smoothly (back in 2019 VueJS wasn't known for its speed when it comes to large-scale and complex applications, not sure if it's better now), but Angular is definitely not a bad choice.
Re: Asteroid Project [HTML5, Angular, Node, Socket]
Quote:
Originally Posted by
Biesmen
I disagree. From my experience Angular is the fastest library when it comes to large-scale and complex applications. However, the development time takes much longer for new Angular developers. Angular isn't easy to understand and the forced usage TypeScript may be overwhelming. Also, I think Angular is much easier to work with in large groups because the code is overall cleaner and better in the modular aspect. VueJS and ReactJS are capable of running an application like this smoothly (back in 2019 VueJS wasn't known for its speed when it comes to large-scale and complex applications, not sure if it's better now), but Angular is definitely not a bad choice.
I have experienced the opposite and the forced modularity in my experience has lead to more over engineering decisions than practical ones. The Angular module is better suited for back-end developments, but perhaps it is a good solution for a large scale application (The exact opposite use case of a Habbo Retro) - the point still stands it's bad for small projects.