Ver la versión completa : Otros Lenguajes Empezanco con React Native: Busco algún libro y/o curso en condiciones
Bueno, resulta que llevo un mes currando como programador web (PHP, JS, JQuery, CSS, HTML5, Bootstrap...), vamos un fullstack de manual, para una aplicación de ecommerce.
El caso es que en breves voy a empezar (realmente es continuar) con el desarrollo de la aplicación en React Native (soy el único que tiene conocimientos de Angular y React), por lo que buscaba algún buen libro (en castellano a ser posible xD) y/o algún curso decente, estoy haciendo uno de Udemy pero buscaba algo más profesional que esos...
Creo que no hay mucho curso avanzado por ahi. La mayoría de los cursos están orientados a cosas de gestión de estado con React y usar librerías para tareas avanzadas, que ya sabes de hacer webs. Si quieres aprender ésto, el de Kent C Dodds es el que más me gusta. Los de Udemy y edX imagino que te darán los conceptos básicos también.
La parte "native" de la cuestión es cuando tienes que montar módulos nativos, que implica saltar a Android o iOS en Java/Kotlin y Swift. La documentación del bridge y ejemplos de opensource deberían ser suficientes si acabas necesitando uno, pero hasta donde se hay librerías de la comunidad para la mayoría de las features básicas tipo GPS, mapas y demás. Para ésto vas a tener que coger libros más antiguos, porque Google y Apple están ahora más centrados en promocionar librerías de UI y arquitectura que no vas a usar. Los libros de Nerd Ranch y CommonsWare siempre tendrá cosas útiles.
Source: solía estar en el mismo equipo que la mitad de los miembros actuales del equipo de RN. Estuve un par de años haciendo herramientas para RN con ellos, antes de que se pasaran al Core y yo volviera a herramientas para Android.
No he avanzado mucho con el Native, lo que pude ver era simpñemente al renderizar, usa las JSC de RN que luego se compilan a elementos nativos. Hasta aquí bien (aún me queds mucho que pelear con los states y ciclo de vida), lo que no sabía era el tema de acceder a elementos del dispositivo: cámara y gps sobre todo (aunque el tema de la localización ya lo dejaron listo).
Gracias pakoito por la info (el tema del inglés lo dejaré para cuando esté más estable xD)
No he avanzado mucho con el Native, lo que pude ver era simpñemente al renderizar, usa las JSC de RN que luego se compilan a elementos nativos. Ojo con el detalle, el JS no es transpilado a elementos nativos sino que hay una capa por debajo que los crea y se va comunicando para actualizarlos cuando el estado cambia en la capa de JS. Toda la lógica de negocio, el diffing y demás corre en JS con alguna parte optimizada en plataforma o incluso en la capa de c++. También hay otro motor de JS, Hermes, que está diseñado explicitamente para RN, se inicia y corre más rápido que JSC y los bundles son más pequeños porque el formato es binario en vez de texto.
Entonces no compila a nativo, sino que hay una especie de runtime corriendo los elementos de JS/RN... Pensaba que compilaba a nativo, que un <Text> te lo compilaba a un elemento label o similar de android (en el caso de android).
Lo de "lo compila a un elemento nativo" es la transformación de Babel que hace Metro del JSX, porque claro, no es JS standard. En web lo cambia a elementos del DOM, en RN lo convierte a una llamada al runtime de Android a través de un bridge para crear un label nativo cuyo estado es manejado con callbacks desde el bridge. Es lo mismo que otras implementaciones de JSX que renderizan pdfs o imágenes.
No compila a código de Dalvik que Android pueda entender, o el equivalente en iOS. Aquí juegan con la palabra "compilar" para que parezca más performant de lo que realmente es, y nunca lo he entendido.
No me entero de nada, cosas de la informática, que como esta parte no es mi campo me suena todo a chino XD
^MiSaTo^
19/10/2020, 08:09
No me entero de nada, cosas de la informática, que como esta parte no es mi campo me suena todo a chino XD
TL;DR: se llama React Native y juegan con lo de native para que parezca que compila a código nativo pero en realidad es JavaScript y hay un runtime por debajo. Hacen esto porque es bien sabido entre los desarrolladores de móviles que los frameworks multiplataforma con JavaScript no dan tanto rendimiento como lo nativo. De ahí que lo llamen ‘native’ porque así suena a que si va a ser igual. Y no lo es xD
Bueno, resulta que llevo un mes currando como programador web (PHP, JS, JQuery, CSS, HTML5, Bootstrap...), vamos un fullstack de manual, para una aplicación de ecommerce.
El caso es que en breves voy a empezar (realmente es continuar) con el desarrollo de la aplicación en React Native (soy el único que tiene conocimientos de Angular y React), por lo que buscaba algún buen libro (en castellano a ser posible xD) y/o algún curso decente, estoy haciendo uno de Udemy pero buscaba algo más profesional que esos...
Yo no haría caso de esa web porque te intentan vender la moto y luego tienen bugs... Wait, ¿esto no es otro hilo de spam? :lol:
Lo siento, tenía que decirlo :D :D :D
TL;DR: se llama React Native y juegan con lo de native para que parezca que compila a código nativo pero en realidad es JavaScript y hay un runtime por debajo. Hacen esto porque es bien sabido entre los desarrolladores de móviles que los frameworks multiplataforma con JavaScript no dan tanto rendimiento como lo nativo. De ahí que lo llamen ‘native’ porque así suena a que si va a ser igual. Y no lo es xD
El equipo está totalmente orientado a gente de web y sudan bastante de los desarrolladores móviles. Hay algo de historia por detrás para contar con unas cervezas.
^MiSaTo^
20/10/2020, 08:05
El equipo está totalmente orientado a gente de web y sudan bastante de los desarrolladores móviles. Hay algo de historia por detrás para contar con unas cervezas.
Lo sé pero con ese nombre juegan a que este framework no es como los demás porque es nativo y ... no.
Ya he lidiado varías veces con clientes que se lo han vendido como que era la mejor solución por eso y luego les ha dado un rendimiento peor de lo que esperaban y no sabían por qué, si es nativo no? Pues eso xD
Sermasymejor
06/01/2021, 15:56
Buenas creo que hay muchas opciones por el mercado y a lo mejor encuentres muchos cursos, yo he tomado algunos gratuitos que están muy buenos como SoyAgile se me ha hecho una opción fantástica no se tu pero creo que esta bueno!! Te recomiendo mucho que visites: https://www.soyagile.com/
Buenas creo que hay muchas opciones por el mercado y a lo mejor encuentres muchos cursos, yo he tomado algunos gratuitos que están muy buenos como SoyAgile se me ha hecho una opción fantástica no se tu pero creo que esta bueno!! Te recomiendo mucho que visites: https://www.soyagile.com/
Me he perdido. ¿Que tiene que ver esto con React o con la programación en general??
Lo sé pero con ese nombre juegan a que este framework no es como los demás porque es nativo y ... no.
Ya he lidiado varías veces con clientes que se lo han vendido como que era la mejor solución por eso y luego les ha dado un rendimiento peor de lo que esperaban y no sabían por qué, si es nativo no? Pues eso xD
Ya lo estoy notando... Con 1000-2000 productos iba muy bien, empezé a probar con lo real (unos 200000, y aún no son muchos para ser un ecommerce) y ya tuve que buscarme la vida para agilizar los tiempos de carga: rehacer la api para que bajara la respuesta de 1m a 5s y luego a menos de 1s, y a la hora de pintar en la aplicación, cambiar el método de renderizado por una vista virtualizada y separando procesos...y aún así, tarda un poco más de 1s en pintar, lo qur se traduce que la app mete como 1s de procesamiento..
Vamos, tener una app de un ecommerce que tarde más de 1s en mostrar datos, es una mierda... (ojo, que hay cosas externas que influyen, como son el servidor de la base de datos y que esta, esté mal diseñada desde el principio...)
A todo esto, estoy yo solo, y sin experiencia previa, por lo que el reto es doble jejeje
¿Estás cargando 200k elementos en memoria para una lista infinita? pagina un poco por lo menos jajaja
A pesar de todo hay que decir que incluso mega-apps con cientos de ingenieros como Twitter rascan frames si scrolleas muy rápido, y cuanto más scrollees más problemas de memoria tienen porque las peticiones HTTP de imágenes no son cancelables. Y así hasta que se van a 1fps :D Cuando paras tarda unos segundos en estabilizarse y vuelve a 60fps.
¿Estás cargando 200k elementos en memoria para una lista infinita? pagina un poco por lo menos jajaja
A pesar de todo hay que decir que incluso mega-apps con cientos de ingenieros como Twitter rascan frames si scrolleas muy rápido, y cuanto más scrollees más problemas de memoria tienen porque las peticiones HTTP de imágenes no son cancelables. Y así hasta que se van a 1fps :D Cuando paras tarda unos segundos en estabilizarse y vuelve a 60fps.
Nooo!! Tengo que buscar entre esa cantidad para filtrar por búsqueda y/o categoría, saco de 8 en 8 según va llegando al final, pero es esa búsqueda la que tarda...
Pero vamos, ahora saco los resultados rápidos...
Ya lo estoy notando... Con 1000-2000 productos iba muy bien, empezé a probar con lo real (unos 200000, y aún no son muchos para ser un ecommerce) y ya tuve que buscarme la vida para agilizar los tiempos de carga: rehacer la api para que bajara la respuesta de 1m a 5s y luego a menos de 1s, y a la hora de pintar en la aplicación, cambiar el método de renderizado por una vista virtualizada y separando procesos...y aún así, tarda un poco más de 1s en pintar, lo qur se traduce que la app mete como 1s de procesamiento..
Vamos, tener una app de un ecommerce que tarde más de 1s en mostrar datos, es una mierda... (ojo, que hay cosas externas que influyen, como son el servidor de la base de datos y que esta, esté mal diseñada desde el principio...)
A todo esto, estoy yo solo, y sin experiencia previa, por lo que el reto es doble jejeje
Ais, esos errores de novato... Y de no tan novato :D
A mi me pasa con una APP de ventas. Cuando pruebas en una BBDD de pruebas, pues todo muy bonito, pero en cuanto tienes un cliente, ya no de 200000, sino de diez veces más... Yo aun estoy aprendiendo a manejar el multihilo, porque es lo que decís, que si la APP tarda más de 1s en cargar, no es aceptable, y sí, descargando los artículos de 10 en 10 se reduce el tiempo, pero claro, luego, para cada artículo tengo que hacer una consulta para obtener la imagen, un dato estadístico y otra cosa más, son 3 llamadas al servidor x10, y cada llamada tarda, al menos, 0'3s, y eso no lo puedes reducir... y todo eso se puede ir descargando en paralelo.
Lo bueno es que en APPs de empresas, eso no es tan crítico, pero los que tengáis que hacer aplicaciones de cara al público... os compadezco ^^U
Ais, esos errores de novato... Y de no tan novato :D
A mi me pasa con una APP de ventas. Cuando pruebas en una BBDD de pruebas, pues todo muy bonito, pero en cuanto tienes un cliente, ya no de 200000, sino de diez veces más... Yo aun estoy aprendiendo a manejar el multihilo, porque es lo que decís, que si la APP tarda más de 1s en cargar, no es aceptable, y sí, descargando los artículos de 10 en 10 se reduce el tiempo, pero claro, luego, para cada artículo tengo que hacer una consulta para obtener la imagen, un dato estadístico y otra cosa más, son 3 llamadas al servidor x10, y cada llamada tarda, al menos, 0'3s, y eso no lo puedes reducir... y todo eso se puede ir descargando en paralelo.
Lo bueno es que en APPs de empresas, eso no es tan crítico, pero los que tengáis que hacer aplicaciones de cara al público... os compadezco ^^U
La BDD no la diseñé yo, ya estaba así de mal cuando llegué (sin relaciones, claves foraneas, índices...) Y la app y la apinya las pillé empezadas, y aún así las voy mejorando como puedo...
¿Hay posibilidad de meter un middleware que te permita hacerlo todo en una llamada que traer los datos mascaditos para el móvil y precacheados de los múltiples servicios y BBDDs? Con tener una máquina fuerte ya vas a rascar mucho tiempo, siempre irá mejor que hacerlo en cada móvil. Y la caché te permitirá amortizar el tiempo entre todos los clientes, especialmente para búsquedas frecuentes. Y te permite controlar el rate limiting, meter mejor auth y demás.
Imagino que el stock no cambiará mucho a lo largo del tiempo, como mucho la disponibilidad. A las bravas lo que se hace es devolver una primera respuesta con lo cacheado "sucio", y luego reemplazarla por los últimos datos.
Jajaja No, no es una crítica. Sólo digo que no eres el único al que le ha pasado ;)
En mi caso, tampoco hice la BBDD (y menos mal), y aunque tiene sus cosas, al menos está bien estructurada... Eso sí, sólo puedes usar SQL para obtener información, para actualizar o guardar hay que usar la API, que es lenta de narices.
Mi primera APP fue el ejemplo de APP de ventas de Xamarin con modificaciones, y le pasaba eso, que cargaba la lista entera desde Azure. Yo la tuve que adaptar a SQL Server, y luego introducir la descarga por páginas, porque en cuanto la probamos en la primera BBDD real... buf, miedo.
No te quiero contar ya de un programa en VB6 que tengo que mantener.
^MiSaTo^
07/01/2021, 16:22
Madre mía es que hacer eso sin un middleware es una locura!!!
¿Hay posibilidad de meter un middleware que te permita hacerlo todo en una llamada que traer los datos mascaditos para el móvil y precacheados de los múltiples servicios y BBDDs? Con tener una máquina fuerte ya vas a rascar mucho tiempo, siempre irá mejor que hacerlo en cada móvil. Y la caché te permitirá amortizar el tiempo entre todos los clientes, especialmente para búsquedas frecuentes. Y te permite controlar el rate limiting, meter mejor auth y demás.
Imagino que el stock no cambiará mucho a lo largo del tiempo, como mucho la disponibilidad. A las bravas lo que se hace es devolver una primera respuesta con lo cacheado "sucio", y luego reemplazarla por los últimos datos.
Para eso hacen falta 2 cosas: 1- experiencia, que yo no tengo, no tengo mucha idea de cómo aplicar eso (y cómo aplicarlo a algo ya funcional)
2- que la empresa quiera, actualmente estan rascando euros a saco (los programadores estamos por el SMI y el responsable no cobra mucho más, es lo que tiene estar fuera del convenio tic, sin experiencia y exigiendo como seniors...)
Por lo que, primero tendría que buscar info sobre meter un middleware,y luego el jefe tendría que aceptarlo (y cada vez que va a mear cambia de idea...).
^MiSaTo^
07/01/2021, 22:31
Para eso hacen falta 2 cosas: 1- experiencia, que yo no tengo, no tengo mucha idea de cómo aplicar eso (y cómo aplicarlo a algo ya funcional)
2- que la empresa quiera, actualmente estan rascando euros a saco (los programadores estamos por el SMI y el responsable no cobra mucho más, es lo que tiene estar fuera del convenio tic, sin experiencia y exigiendo como seniors...)
Por lo que, primero tendría que buscar info sobre meter un middleware,y luego el jefe tendría que aceptarlo (y cada vez que va a mear cambia de idea...).
Cobrando el SMI yo haría lo mínimo. Si tarda 1s en cargar pues es la vida misma. Si quieren que vaya mejor que lo paguen ;)
Animo!
Cobrando el SMI yo haría lo mínimo. Si tarda 1s en cargar pues es la vida misma. Si quieren que vaya mejor que lo paguen ;)
Animo!
Que huevos que tienes.
^MiSaTo^
08/01/2021, 07:44
Que huevos que tienes.
No huevos no, es que si no hacemos eso se siguen aprovechando.
Yo tb he estado en curros que me pagaban una mierda pero querían de todo. Pues nada yo hago acorde a lo que me pagan ellos. Me pagas SMI? Pues desde luego no me voy a matar a solucionarte lo que sea. Haré lo mínimo e imprescindible para sobrevivir ahí.
Si quieren más que me valoren adecuadamente
Huevos no, aquí no hay curro, de programador web sin experiencia menos (sin experiencia, buscan recien titulaos de ciclo), es eso, el paro o trabajar de otra cosa, y esto último ya lo he probao, ahora no trabajo los fines de semana,a las 6 estoy en casa y cobro los 1000€ al mes (más que trabajando de otra cosa...).
Logicamente, mi meta ahora es coger experiencia y seguir buscando, a mi de momento no me exige demasiado ni me mete tanta presión, pero al resto de gente (sobre todo a los que llevan la web) sí.
Si busco una solución mejor, es por tener yo ese conocimiento, bastante he avanzado con la app sin tener conocimiento previo... Al final, lo que me valer es el saber hacer las cosas, por eso no quiero "acomodarme".
-----Actualizado-----
Cobrando el SMI yo haría lo mínimo. Si tarda 1s en cargar pues es la vida misma. Si quieren que vaya mejor que lo paguen ;)
Animo!
Desde luego, y si quiere que vaya mejor y tardo 2 semanas en encontrar una solución, pues lo mismo...
Ahora me preocupa bien poco esa situacion, sabe lo que paga y sabe lo que contrata, que apechugue con las consecuencias.
^MiSaTo^
08/01/2021, 09:27
Huevos no, aquí no hay curro, de programador web sin experiencia menos (sin experiencia, buscan recien titulaos de ciclo), es eso, el paro o trabajar de otra cosa, y esto último ya lo he probao, ahora no trabajo los fines de semana,a las 6 estoy en casa y cobro los 1000€ al mes (más que trabajando de otra cosa...).
Logicamente, mi meta ahora es coger experiencia y seguir buscando, a mi de momento no me exige demasiado ni me mete tanta presión, pero al resto de gente (sobre todo a los que llevan la web) sí.
Si busco una solución mejor, es por tener yo ese conocimiento, bastante he avanzado con la app sin tener conocimiento previo... Al final, lo que me valer es el saber hacer las cosas, por eso no quiero "acomodarme".
-----Actualizado-----
Desde luego, y si quiere que vaya mejor y tardo 2 semanas en encontrar una solución, pues lo mismo...
Ahora me preocupa bien poco esa situacion, sabe lo que paga y sabe lo que contrata, que apechugue con las consecuencias.
Pues eso mismo me refería. Claro que el sabe lo que paga pues tú sin agobiarte ;)
Yo ahora mismo agobio 0 xD, lo que sí me interesa es aprender lo máximo posible (ya buscaré info pa meter un middleware) para poder largarme a otro sitio o hacer teletrabajo incluso, que por suerte, a día de hoy se puede descentralizar el curro.
^MiSaTo^
08/01/2021, 12:26
Yo ahora mismo agobio 0 xD, lo que sí me interesa es aprender lo máximo posible (ya buscaré info pa meter un middleware) para poder largarme a otro sitio o hacer teletrabajo incluso, que por suerte, a día de hoy se puede descentralizar el curro.
si tienes dudas pregunta que yo encantada de ayudar de lo que se que justo de moviles llevo dedicándome desde el 2009-2010 ;)
https://twitter.com/BackEndTea/status/1347121444065570816
Thanks to microservices, our JOINS are now over HTTP.
¿De qué me suena todo eso? :quepalmo:
Cierto día, mi ex-jefe me dijo que la empresa iba mal por culpa de los empleados que estaban antes que yo, que menos mal que entramos un compañero y yo que éramos competentes... Yo pensaba, para mis adentros, que pagando el SMI lo raro era que encontrase alguien competente :P
No voy a decir otro comentario que me hizo hervir la sangre, pero había que tenerlos muy cuadrados para soltarlo.
Lo importante es ir aprendiendo por el camino. Mi actual jefe sabe lo que hay, que para ciertas cosas se necesita gente que sabe, y mientras tanto se hace lo que se puede. Nos mete prisa, como es normal (que si no, uno se acomoda y no es plan :P ), pero si algo no sabemos hacerlo pues sabe que tenemos que perder tiempo investigando... pero sí que hay veces que el nivel de exigencia es... por encima de lo normal.
cuentacuentos
14/01/2021, 20:21
React Native - Tutoriales en PDF
https://mega.nz/file/zoNQ0RgI#P6hkkHvifcbnq407GK7SjNJc_avCLdHZDD-1luhsvhQ
React Native - Tutoriales en PDF
https://mega.nz/file/zoNQ0RgI#P6hkkHvifcbnq407GK7SjNJc_avCLdHZDD-1luhsvhQ
Gracias!!!
Haohmaru
24/01/2021, 14:34
React Native - Tutoriales en PDF
https://mega.nz/file/zoNQ0RgI#P6hkkHvifcbnq407GK7SjNJc_avCLdHZDD-1luhsvhQ
Me viene de perlas para un proyecto nuevo en el trabajo, muchísimas gracias!
a ver si alguien sabe cómo solucionar esto: yo cargo una imágen desde almacenamiento local o url, carga bien y se muestra bien, pero si borro los datos de la aplicación y caché, esa imágen desaparece, alguna forma de que eso no suceda??? da igual que la cargue desde url... no se ve nada...
akualung
25/02/2021, 17:06
a ver si alguien sabe cómo solucionar esto: yo cargo una imágen desde almacenamiento local o url, carga bien y se muestra bien, pero si borro los datos de la aplicación y caché, esa imágen desaparece, alguna forma de que eso no suceda??? da igual que la cargue desde url... no se ve nada...
No tengo ni idea de react y hace la tira que no programo (acabé muy quemado de consultoras y jefes psicópatas) pero no se si quizá esto te pueda servir o igual lo que dice ahí ya lo tienes superado, pero por probar: https://medium.com/@wcandillon/5-things-to-know-about-images-react-native-69be41d2a9ee
Suerte
Creo que he probado de todo eso, pero mañana le doy otro repaso... Me quedan 2 semanas en este curro, puedo tirarmelas perfectamente buscando soluciones xD pero quiero disfrutar de mis vacaciones antes de empezar en el otro lado...
juanjop032@
08/04/2021, 15:56
Yo aprendí mucho con este tutorial de free code camp:
https://youtu.be/1hPgQWbWmEk
Me sirvió mucho.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.