En general, en muchas plataformas, escribo mis recursos de cadena en un archivo .resx o .xml, y luego los obtengo utilizando un enfoque dependiente de la plataforma.
Es decir, en iOS, los obtengo a través de NSBundle.MainBundle
, y al usar Context.Resources
en Android.
¿Cuáles son las ventajas de este enfoque y por qué no tenerlo directamente accesible en el código? Entonces, por ejemplo:
En un proyecto multiplataforma, cualquier plataforma puede acceder a él directamente, sin integración.
No hay preocupaciones durante la construcción sobre si los recursos se construyeron bien o no.
- El codificador puede usar funcionalidades como manejo multilenguaje
Larga historia corta: ¿cuál es la razón por la cual los recursos de cadena están estructurados de esa manera?
[Editar]
Digamos que mi archivo es parte de un proyecto "principal" compartido entre otro proyecto. (Piense en un PCL, estructura de archivo de proyecto multiplataforma).
Y supongamos que mi archivo es totalmente similar a un archivo .resx / .xml, con este aspecto (no soy un profesional en xml, ¡lo siento!): Parámetros Paramètres
Entonces, esto es básicamente un xml personalizado, donde apuntas a la clave / idioma para obtener la cadena adecuada.
El archivo sería parte de la aplicación al igual que agrega cualquier archivo accesible dentro de una aplicación, y el sistema para acceder a los recursos de la cadena, codificados mediante PCL. ¿Esto agregaría una sobrecarga a las aplicaciones?