I'm building a component that store info about the client and it stores only the numbers of the JApplicationWebClient
constants instead the browser name, system name, etc, .
But if the constants change, things will get a bit messy.
Joomla Stack Exchange is a question and answer site for Joomla! administrators, users, developers and designers. It only takes a minute to sign up.
Sign up to join this communityYes, software does change.
To somehow reverse the order of constants, so that CHROME
is renamed from 19 to 5, would make little sense to me and very unlikely to happen.
Generally things change so that a problem can be solved (taking into account b/c). I would rather say there is a risk of this class being deprecated on the long run sometime later (Joomal 4 or Joomla 5) for whatever reasons.
Looking at the history of this class (since 2011), there have been little changes done (just additions), even since the Joomla Platform times till the new Joomla Framework. So I would say you are on the safe side, at least in 3.x and the foreseeable 4.x based on the Joomla Framework.
My advice: until you don't have a problem, don't spend your time fixing it (aka don't build on top of JApplicationWebClient if the current functionality works fine). If you need to read this information years later (5 -10 years), maybe from non-Joomla applications, maybe you should store strings (if storage is not an issue).
You should first start to worry when this class is deprecated.
Yes, they can change. I think it's not highly probable.
Nevertheless, you have to implement an abstraction layer to avoid any impact, or support several versions of JApplication clients.