Web development improvement: Learning ReactJS

Folks,

Sometimes I believe that being in the software engineering world is like a doctor: You have to catch up all the time in the new technology, frameworks and tools that are out there. 

Most of the time I have written programs and stuff for the back end, but you know that as a web developer you need to have the knowledge to work both front (at least something that can be eye-candy for the customer) and back.

I have a personal love-hate relationship with javascript, because I know it has a lot of potential but it is frustrating at the same time. Being honest tough, I empirically learned this programming language, but I wanted more.

Polishing my javascript coding skills is a must for me right now, specially when I was first introduced to ReactVR. I am a huge fan of this new way of doing things with the computer and I have my dreams where I want to create something fantastic using Virtual Reality. Therefore, little by little I will start creating that opportunity learning ReactJS.

So I looked up for nice books and courses, starting in codecademy and then moving to something else. I don’t remember how but I found the Complete React Course link , created by Andrew Mead which I paid in a sale he offered (can’t remember if I found him on twitter or somewhere else), it has been a hell of experience!

I had no clue how this new way of using javascript worked, but then I starting to understand how to use this in order to create nice web applications.

The course is long but I think it covers important stuff like setting up your environment, build your first web app, third party tools, understanding components, props, states, etc.

So yeah, I’ll keep posting stuff about the course here, which helps me to go over again the concepts and exercises in the course. When I finish it, I could share new tips and tricks and keep learning!

Uso de push notifications (iOS) y servicio PHP, lo que debes de considerar.

Hace unos meses participé en desarrollar para una aseguradora un centro de mensajes que se accede desde su servidor para que desde ahí se puedan enviar mensajes para dispositivos Android y iOS dependiendo algunos criterios, todo un reto ya que en donde trabajaba no teníamos experiencia para hacerlas.

En esta entrada, que no es realmente un tutorial para hacer un servicio de envío de push notifications para un app de iOS, sino que les daré algunos tips que pueden considerar a la hora de desarrollar, ya que, créanme, fue un dolor de cabeza por semanas encontrar la solución correcta para que funcionaran.

Espero sea una referencia para que no tengan problemas y puedan terminar en tiempo y quedarse calvos de la frustración.

1. Puertos SSL activos: Verifica que tu ISP (o si estas probando localmente, tu servidor local) tenga activos los puertos SSL, puerto 2195 o 2196. Esto evita que al probar tu servicio te aparezca el siguiente error:

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.push.apple.com:2195 (Connection refused) in SendPushNotification.php on line 28 Failed to connect: 111 Connection refused

También es recomendable que tu servidor de producción tenga habilitados dichos puertos. En casos particulares, algunos proveedores por default no los tienen activados así que habrá que pedir que los activen

2. Certificados: Este es otro problema que muchos desarrolladores llegan a tener, la generación de certificados tiene que ser al pie de la letra, porque esto puede provocar que simplemente no funcionen las pruebas de envíos de mensajes. Importante recordar que existen los certificados de desarrollo y producción y que dependiendo el ambiente en el que estés, los ID’s de los dispositivos cambiarán.

Ejemplo: Registras un dispositivo en ambiente de desarrollo, funciona todo bien. Pero después de que tengas que generar el certificado de producción, ese ID que tenías registrado ya no servirá por lo que tienes que registrarlo de nuevo en tu sistema que estes desarrollando. Esto me trajo una confusión que me costo algunas horas de trabajo así que tenlo presente.

3. Conexión de APN para envío de mensajes: Este si es un detalle muy particular que encontré al desarrollar el centro de mensajes. Cada vez que se envía el mensaje se crea una conexión nueva al servidor APN y después de que se envía el mensaje se tiene que cerrar por seguridad. El problema radica en que si quieres enviar mensajes de manera masiva usando una sola conexión, no será posible.

Por lo tanto, si necesitas enviar mensajes a n dispositivos simultáneamente, tienes que hacer una conexión por cada dispositivo al que vayas a mandarlo, de lo contrario, solo mandará al primer registrado o no mandará nada.

Este punto resulta algo truculento y lo solucioné de esta manera.

4. GET en vez de POST: Este punto realmente nunca lo encontramos como solución en sitios de ayuda como Stack Overflow y nos sorprendió el hecho de que funcionara.

Básicamente consiste en que todos los datos que envías en los formularios que vayas a utilizar (en mi caso, para escribir el mensaje al dueño del dispositivo) los mandes por GET y no por POST, curiosamente, al hacer este cambio, pude enviar mis mensajes sin problema alguno. Puede que mi situación haya sido una situación MUY particular y sabemos que a veces pasar por GET los datos no es buena idea, pero si tienes la oportunidad de hacerlo por este método, hazlo.

En esta experiencia que tuve, aprendí bastante sobre el desarrollo de este sistema de mensajes vía push notifications, algo muy divertido y retador. Algunos puntos quizás no apliquen a su situación, pero considérenlo como una especie de checklist cuando tengan problemas. Además, si tienen otro problema, es importante que lean a detalle la documentación que proporciona Apple para realizar este servicio.

Si tienen otra solución será bienvenida en este blog.

Game-on!

Adobe Muse – Diseño web sin necesidad de escribir código!!

 

Quizás hace muchos años, cuando el auge del internet iba en crecimiento muchas personas se preguntaban cómo hacer su propia página sin necesidad de saber sobre html, tags, hipervínculos y cosas que pocos entendían, solo querían su página lista con lo que querían e imaginaban.

Adobe Muse hubiera sido la solución en ese tiempo, pero era algo muy complicado de hacer hasta en estos años. Este software de Adobe te permite diseñar y publicar tu sitio web para que esté listo en la red y sin necesidad de escribir código! 

Adobe Muse en acción!

Recien comencé a utilizar esta herramienta en el trabajo para hacer diseños y con los conocimientos (tampoco soy un experto) del Software de Adobe se pueden hacer sitios web de gran calidad. Por ejemplo, utiliza Widgets que te permiten de manera inmediata insertar formularios de contacto, galerías de imágenes (como lightbox de jQuery), imágenes, etc. Los ajustes de diseño de tu sitio los puedes hacer por medio de “drag and drop” para que vaya quedando deacuerdo a tus necesidades, como se ve en la siguiente imagen:

Uso de galería de imágenes tipo lightbox, formularios, estilos css, etc.

Si deseas hacer algo como los hombres, es decir, insertando tu mismo el código HTML para algún objeto, como puede ser un mapa de google maps, también lo puedes lograr con la opción que trae el software. Otra característica importante es que te ayuda a definir si tu sitio es para navegadores de computadoras (PC o Laptops) o para móviles, algo importante en estos días debido a que son populares los smartphones y tablets.

También Muse te ayuda a publicar tu sitio web indicándole el servidor y basicamente subirá los archivos por tí, con la estructura de archivos que debe de tener.

En lo personal me parece una herramienta bastante atractiva, te ahorra bastante tiempo en tener que aplicar estilos, formatos, acomodar el diseño, creación de formularios, entre otras opciones buenas. Seas principiante o experto, vale la pena probarlo. El sitio oficial de Muse ofrece un periodo de prueba de 30 días y también incluye un buen de contenido/tutoriales para poder sacarle provecho y aprender más de este programa.

http://www.adobe.com/mx/products/muse.html

Design a site like this with WordPress.com
Get started