android - actionbar - ¿Cómo son tus experiencias con NativeScript?
nativescript menu (2)
Investigué un poco el Script nativo y mi colega en el trabajo escribe una aplicación con él, por lo que puedo ofrecerte un poco de información que tengo. 1. omitido
- Hay una cantidad limitada de componentes que puede usar con el script nativo de fábrica. Sin embargo, si tiene un desarrollador Java nativo que puede escribir un contenedor para usted, puede usarlo todo.
- Está limitado a la plataforma que está utilizando. Android tiene muchas limitaciones de estilo que no se pueden sobrepasar fácilmente.
- no sé
- Funciona un poco diferente. Su objeto JS, o más bien widgets, están traducidos al código java. Entonces con los artículos de la caja, sí, están bien. Si escribe un contenedor para su componente personalizado, todo depende de usted.
- Sí lo hace.
- No, el código se genera, ¿cómo vas a modificarlo? Los cambios se desharán en la próxima compilación. Sin embargo, puede escribir un módulo nativo para su aplicación y usar las características que desee. Es como definir una interfaz, que luego puede usar en el código JS.
¿Alguien tiene experiencia con NativeScript y puede compararlo con el desarrollo de aplicaciones nativas, especialmente para Android?
He leído todos estos artículos:
- PRIMEROS PENSAMIENTOS SOBRE NATIVESCRIPT
- SEGUNDOS PENSAMIENTOS SOBRE NATIVESCRIPT
- Introducción a la escritura nativa: ¿vale la pena su tiempo?
- Mi experiencia Desarrollando con Telerik NativeScript
Sé que especialmente tres de ellos pueden estar desactualizados. Pero quiero preguntarles a todos ustedes, desarrolladores:
- ¿Cómo es tu experiencia con NativeScript?
- ¿Hay algún componente de Android que no puedas usar? ¿Cuáles son estos?
- ¿El estilo es realmente tan limitado?
- ¿Las aplicaciones realmente se ven tan diferentes en el tiempo de ejecución como en la maqueta como en las imágenes del primer artículo mencionado anteriormente?
- ¿La carga de objetos nativos de Android en el código de JavaScript siempre funciona correctamente?
- ¿NativeScript genera Java-Code para Android-Platform a partir del código NativeScript que escribo?
- ¿Es posible modificar este código si quiero usar algunas características nativas? ¿Qué ocurre si quiero hacer cambios en la interfaz de usuario? ¿Debo regenerar el código y echo de menos mis extensiones nativas?
Muy contento de ver que está evaluando NativeScript para eventualmente usarlo en proyectos presentes y futuros. Trataré de condensar las respuestas a algunas de las preguntas en una, ya que en realidad están relacionadas en su mayoría.
- Saltado. *
- Eso depende de lo que ya ha sido expuesto a través de una vista / plugin o módulo personalizado. Los módulos centrales que incluye cada aplicación NativeScript contienen los contenedores más básicos para Android e iOS bajo una API común. Hay complementos (módulos nativescript npm) que proporcionan envoltorios adicionales en las vistas nativas de Android (
nativescript-telerik-ui
para uno,nativescript-carousel
), la mayoría de los cuales son creados por la comunidad NS. - Como RexSplode mencionó antes que yo, es sobre todo la plataforma la que impone ciertas limitaciones. NS usa CSS para declarar el estilo, pero también puede acceder a los componentes nativos y administrar su estilo y apariencia programáticamente si lo que necesita no está disponible de inmediato.
- En primer lugar, me gustaría señalar que los primeros 3 artículos que ha vinculado tienen más de un año, y confíe en mí, NativeScript ha evolucionado mucho desde entonces. Con todos los componentes disponibles (¿recuerdas los módulos npm que mencioné antes?) Hay una gran posibilidad de que obtengas una similitud cercana a 1: 1 con una maqueta de Android nativa bien diseñada.
- En el tiempo de compilación, los metadatos se generan para la API pública de Android / Java utilizada en el proyecto. Cuando se activa el motor de JavaScript (V8), los metadatos se cargan en la memoria, se construyen cadenas de prototipos y se asocian devoluciones de llamada, de modo que cuando llamas a un
new android.widget.Button();
en su código JavaScript, se invocarán las instrucciones adecuadas de la máquina virtual y se creará un botón nativo. Se accede a los métodos estáticos de forma similar, consulte los documentos oficiales para obtener una mejor comprensión de cómo funciona todo. https://docs.nativescript.org/runtimes/android/advanced-topics/execution-flow - y 7. y un cont. de 2. El código Java, o código compilado en Java se genera siempre que desee extender una clase nativa de Android que no está disponible ya en un módulo o en el Marco nativo. La extensión de clases es muy similar a cómo lo haría en Java: extiende una clase y crea
new
implementaciones de interfaces. Eso significa que no tendrá que abrir Android Studio para crear una nueva clase, compilarla en un complemento nativo y luego agregarla a su proyecto, ya que puede hacerlo todo en su código NativeScript utilizando JavaScript / TypeScript. https://docs.nativescript.org/runtimes/android/generator/extend-class-interface
Descargo de responsabilidad: estoy en el equipo de ingeniería NativeScript