Page 1 of 1

What elements of (language) can be used

Posted: 13 November 2019, 21:38
by Robo65
Hello

Code: Select all

foreach ( [ 'HTML', 'CSS', 'JAVASCRIPT' ] as $language)
   echo "<p>Which features of $language can I use?</p>";
Sorry for asking this - but I am quite sure that I found a comment about JS features being limited to Version 3 somewhere, because of some bundler. But I can't find it again. And that would be a coding level of the last millenium, so I'd have a hard time believing it.

The "At a glance" presentation says that HTML4 must be used. Which would forbid all HTML5 innovations. Really?

And CSS has lots of components and levels. Flexbox, Grid, custom properties, just to name a few.

Do you have an overview of allowed or disallowed features?

Robo

Re: What elements of (language) can be used

Posted: 13 November 2019, 23:47
by Jest Phulin
Robo65 wrote: 13 November 2019, 21:38 The "At a glance" presentation says that HTML4 must be used. Which would forbid all HTML5 innovations. Really?
Yes, really. Most browsers that support HTML5 require 64-bit operating systems. There are still a significant number of people running 32-bit operating systems (myself among them). There is very little that would be required of a board game that cannot be done in HTML4 that can in 5; it just may take a bit of trickery.

Re: What elements of (language) can be used

Posted: 14 November 2019, 12:59
by Robo65
Main problem with HTML4 is that documentation is getting rare, because all official sources document HTML 5. It's not about the Elements oder Attributes, but the DOM Methods. After 10 years, it's hard to remember which ones were added with HTML5 and which not. And thinking back to the CSS or JS Features of that time is a nightmare.

Main problem with browsers that are pre-HTML5 is that they are OLD and get no maintenance. Users with these browsers take a huge risk, so I am not willing to discuss programming requirements from a legacy user point of view. There is at least a supported Firefox 68 ESR Version for Win7 32 bit Users. WinXP Users are out of luck, but not because of the browser. WinXP or Vista has become a no-go and don't need to be supported by anyone. I don't know the situation with Mac or Linux.

A list of features (or at least browsers and versions that must be supported by BGA games), published by the BGA lead developers, would be preferable.

Robo

Re: What elements of (language) can be used

Posted: 14 November 2019, 14:27
by Een
Hi,
We have this in the F.A.Q. https://boardgamearena.com/faq?anchor=f ... atisneeded
It probably should be updated, those versions are really old.

In practice we have been using HTML5 for a long time (so Jest, if you didn't have any problem, all is good for you on that ;) ) and some advanced CSS/JS apis for 3D, push notifications, webrtc and more.

Overall, the main thing to aim for is cross-browser functionality across major up to date browsers for desktop and mobile.

About ECMASCRIPT 3.0, this is a constraint of our current component for JS code minimization (http://en.doc.boardgamearena.com/Game_i ... nimization). At some point we'll probably remove this constraint one way or another, but for now it hasn't really been a big headache. When a developer used something more recent that didn't pass through minimization, we were able to rewrite the corresponding code without going to too much trouble (and the result was actually clearer and thus more maintainable).

Re: What elements of (language) can be used

Posted: 15 November 2019, 19:06
by Robo65
Thanks Een, those were the pages I didn't find by myself. Obviously, I was searching for the wrong terms :)