Spanish Proyecto en B4X

edgar_ortiz

Active Member
Licensed User
Longtime User
Estimad@s,

Les comento que soy un usuario de B4A (que por cierto me encanta la herramienta) y ocasionalmente he realizado un par de proyectos en B4J (con la ayuda de los usuarios del foro).

Ahora necesito hacer un proyecto que funcione en B4A y en B4I... en resumen B4X, utilizando xCustomListView, Sqlite, consumir un web-service (OkHttputils2), Google maps... algún buen ejemplo de como trabajarlo? (por favor que NO esté basado en B4J... en lo personal creo que utilizar B4J para ejemplificare B4X es lo peor que a alguien se le puede ocurrir, esto debido a que "la confrontación" es entre B4A y B4I).

Entonces me surgen las dudas:
- Como puedo probar el "app" en B4I sin tener una Mac
- Que debería de utilizar en los "campos de texto"
- Como manejar las "pantallas" en B4I

Agradeciendo de antemano su tiempo.

Saludos,

Edgar

P.D.:
A todo esto, esta "APP" le deberé de publicar en "Play Store" y en "Apple".
 

josejad

Expert
Licensed User
Longtime User
Hola Edgard:

No tengo B4i, y supongo que esta respuesta ya lo sabes, pero la mejor forma de hacerlo es usando B4XPages.
Haciéndolo así, y usando en las partes que sólo se puedan ejecutar en una plataforma los condicionales:
B4X:
#if B4A

#end if
podrás compartir prácticamente todo el código.
Yo sólo había hecho B4A, pero cuando hice este ejemplo vi que modificarlo para B4J fueron sólo unos pocos ajustes. Y aunque no lo he podido probar en B4i, prácticamente debería funcionar y si no, hacer sólo unos cambios mínimos.

- Como puedo probar el "app" en B4I sin tener una Mac
Aquí te pueden ayudar más los compañeros que lo usen, pero se me ocurre que una forma podría ser https://appetize.io/

- Que debería de utilizar en los "campos de texto"
Intenta declarar todas las vistas como B4XViews, e intenta usar las XUI Views siempre que puedas

1623304772668.png


- Como manejar las "pantallas" en B4I
Aquí tampoco llego, pero con B4XPages, cada "pantalla" será una B4XPage distinta, tanto en B4A (que cada una será un Panel en una Activity), B4i (será una Page en un NavBarController) como B4J (que será un form).

Y por supuesto, échale un ojo al manual de proyectos multi-plataforma

suerte¡¡
 
Last edited:

TILogistic

Expert
Licensed User
Longtime User
ver:


What is a B4XPage?

It differs between the three platforms:
B4J - Form
B4i - Page in a single NavBarController
B4A - Panel in a single activity.

 

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Hola. Precisamente ayer me estaba planteando yo estas dudas...
Pero a mayores me preguntaba si las aplicaciones las voy a poder instalar en los iPhones de mis clientes directamente o voy a tener que hacerlo siempre a través del Play store.
En mi caso van a ser siempre clientes directos que me piden desarrollos a medida.

Gracias y un saludo.
 

josejad

Expert
Licensed User
Longtime User
Hola Gabino:

iOS no es como Android. Que alguien me corrija si me equivoco, pero no te permite instalar aplicaciones (ipa) que no sean desde la AppStore, por lo que la licencia anual te la vas a tener que sacar sí o sí.
Sí no me equivoco, sabiendo el uid de los teléfonos de los clientes puedes hacer una instalación temporal en ellos, pero siempre será eso, temporal para testear y caduca.

Invoco a @JordiCP y a @angel_ que si no me equivoco, programan en iOS.

saludos,
 
Last edited:

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Hola Gabino:

iOS no es como Android. Que alguien me corrija si me equivoco, pero o te permite instalar aplicaciones (ipa) que no sean desde la AppStore, por lo que la licencia anual te la vas a tener que sacar sí o sí.
Sí no me equivoco, sabiendo el uid de los teléfonos de los clientes puedes hacer una instalación temporal en ellos, pero siempre será eso, temporal para testear y caduca.

Invoco a @JordiCP y a @angel_ que si no me equivoco, programan en iOS.

saludos,
Ya no sólo es el coste, sino el período de tiempo y complejidad de tener que subir la aplicación, que la validen, etc. ¿Verdad?
 

josejad

Expert
Licensed User
Longtime User
sino el período de tiempo y complejidad de tener que subir la aplicación, que la validen, etc. ¿Verdad?
Supongo que sí, aunque entiendo que similar que la PlayStore de Google (en la que tampoco he publicado, jeje).

Pero ya depende de la proyección que quieras dar a tus proyectos... más tarde o más temprano, tendrás que ofrecer alternativas a tus apps en Android... más tarde o más temprano hay que empezar a lidiar con estas cosas... así que cuanto antes mejor para coger experiencia y ya después poder ofrecerlo tú directamente antes de que te lo pidan...
 
Last edited:

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Tengo un Mac, pero es mucho más simple en windows.

Necesitas una licencia Apple USD99, y una licencia b4i, y un iPhone (yo aun utilizo un iphone 4 y un iphone5, pero si vas a publicar en Apple Store ellos te revisar la app utilizando la última versión iPad)
¿No es necesario tener un Mac para desarrollar con B4i?. ¿El B4i se instala en Windows y luego se utiliza el Hosted Builder o algo así?
 

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Correcto, todos los IDE's de B4X se ejecutan sólo en windows


Así es, si no tienes un mac, usas el hosted builder, si lo tienes, puedes hacerlo en el mac y usar el emulador
Estoy más perdido que un pulpo en un garaje...
Si uso el Bridge para instalar la app en el iPhone, lo puedo hacer también desde Windows? O para eso ya necesito el Mac?
 

josejad

Expert
Licensed User
Longtime User
Ya me estoy "embalando" yo hablando de cosas que no estoy seguro, así que mejor, paro aquí, jeje.

Quizás esto te aclare un poco

 
Last edited:

angel_

Well-Known Member
Licensed User
Longtime User
Hola Gabino:

iOS no es como Android. Que alguien me corrija si me equivoco, pero o te permite instalar aplicaciones (ipa) que no sean desde la AppStore, por lo que la licencia anual te la vas a tener que sacar sí o sí.
Sí no me equivoco, sabiendo el uid de los teléfonos de los clientes puedes hacer una instalación temporal en ellos, pero siempre será eso, temporal para testear y caduca.

Invoco a @JordiCP y a @angel_ que si no me equivoco, programan en iOS.

saludos,
perfectamente explicado
 

JordiCP

Expert
Licensed User
Longtime User
Invoco a @JordiCP y a @angel_ que si no me equivoco, programan en iOS.
Deja la ouija en paz Jose, que no se puede estar tranquilo ni en el mas allá 😁

Sí, con windows y hosted builder es suficiente para desarrollar, siempre que utilices las librerías del foro. Esto, independientemente de las licencias.
Si necesitas hacer/usar una librería o framework no publicado, entonces necesitaras un mac.
 

angel_

Well-Known Member
Licensed User
Longtime User
- Para instalar tu App en un iPhone vas a utilizar b4i-bridge (Instalar directamente utilizando el Bridge tu App queda para siempre instalada en el iPhone)
Solo añadir que tu app instalada con el Bridge no queda para siempre en el iPhone, por algún motivo que desconozco un tiempo después 1-2 meses quizás, la app no abre, no sé si ha alguien más le habrá pasado pero me ha pasado con varias apps (utilizando hosted builder). Si la quieres tener permanente en el móvil, tienes que subirla y descargar desde el iPhone.
 

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Muchas gracias a todos por las respuestas.
La verdad es que cada vez me da más pereza meterme en el mundo iOS.
 

Pablo Torres

Active Member
Licensed User
Longtime User
Programo bastante en B4i y te cuento:
Para desarrollar aplicaciones en iOS, si o si, tienes que crear una cuenta de desarrollador con Apple, lo cual tiene un costo de 99 dólares al año. Con ella puedes publicar aplicaciones en el AppStore, las cuales deben pasar por un proceso de testeo y aprobación por parte de testers contratados por Apple.
Este sería el camino para desarrollar en B4i:
1) Descargar B4i, si tienes una mac puedes compilar en ella, de lo contrario deberás contratar el hosted builder de Erel (dale menos de 30 dólares al año)
2) Crearte una cuenta en Apple, crear certificados de desarrollador para tu app tal cual lo indican los tutoriales
3) Tener un iPhone a mano, instalar el bridge en el (siguiendo el tutorial) y luego empezar a desarrollar la app probándola en ese iPhone (parte visual y funcionamiento)
3a) Para la parte de desarrollo, personalmente no recomiendo completamente B4X Pages, cuando tengo una app que desarrollar para ambos sistemas lo hago primero en B4i y luego reutilizo ese código en B4A, la mayoría sirve, salgo algunas líneas relacionadas al pasaje de pantallas y propiedades de etiquetas. Por ejemplo, la parte de googlemaps es la misma en ambos casos
4) Si quieres que alguien pruebe tu app, debes obtener su UUID, agregarlo en tu cuenta de Apple como Tester y en el certificado de desarrollo incluir su aparato. Luego puedes pasarle la app utilizando un servidor propio o plataformas como airshare que son gratuitas. Esa app será válida mientras el certificado que obtuviste sea válido (fecha) y no haya sido revocado por ti
5) Después que la app está “perfecta” y la quieres subir al AppStore, debes obtener en tu cuenta de Apple un certificado para AppStore, compilar con el, luego en la cuenta de Apple hay una sección para publicar tus apps, lleva un poco de tiempo completar todo, tendrás que tomar capturas de pantallas varias, subir el icono principal de la app, completar la info de la misma, aceptar los acuerdos comerciales de apple, etc. Luego la aplicación será revisada por testers de Apple, si tienen alguna observación sobre la estética y el funcionamiento te lo harán saber y debes corregirla, cuando te den el ok estás en condiciones de “lanzarla al mercado”
 

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Programo bastante en B4i y te cuento:
Para desarrollar aplicaciones en iOS, si o si, tienes que crear una cuenta de desarrollador con Apple, lo cual tiene un costo de 99 dólares al año. Con ella puedes publicar aplicaciones en el AppStore, las cuales deben pasar por un proceso de testeo y aprobación por parte de testers contratados por Apple.
Este sería el camino para desarrollar en B4i:
1) Descargar B4i, si tienes una mac puedes compilar en ella, de lo contrario deberás contratar el hosted builder de Erel (dale menos de 30 dólares al año)
2) Crearte una cuenta en Apple, crear certificados de desarrollador para tu app tal cual lo indican los tutoriales
3) Tener un iPhone a mano, instalar el bridge en el (siguiendo el tutorial) y luego empezar a desarrollar la app probándola en ese iPhone (parte visual y funcionamiento)
3a) Para la parte de desarrollo, personalmente no recomiendo completamente B4X Pages, cuando tengo una app que desarrollar para ambos sistemas lo hago primero en B4i y luego reutilizo ese código en B4A, la mayoría sirve, salgo algunas líneas relacionadas al pasaje de pantallas y propiedades de etiquetas. Por ejemplo, la parte de googlemaps es la misma en ambos casos
4) Si quieres que alguien pruebe tu app, debes obtener su UUID, agregarlo en tu cuenta de Apple como Tester y en el certificado de desarrollo incluir su aparato. Luego puedes pasarle la app utilizando un servidor propio o plataformas como airshare que son gratuitas. Esa app será válida mientras el certificado que obtuviste sea válido (fecha) y no haya sido revocado por ti
5) Después que la app está “perfecta” y la quieres subir al AppStore, debes obtener en tu cuenta de Apple un certificado para AppStore, compilar con el, luego en la cuenta de Apple hay una sección para publicar tus apps, lleva un poco de tiempo completar todo, tendrás que tomar capturas de pantallas varias, subir el icono principal de la app, completar la info de la misma, aceptar los acuerdos comerciales de apple, etc. Luego la aplicación será revisada por testers de Apple, si tienen alguna observación sobre la estética y el funcionamiento te lo harán saber y debes corregirla, cuando te den el ok estás en condiciones de “lanzarla al mercado”
Muchas gracias por tu explicación, que es de lo más esclarecedora.

Pero me surge una duda, en el punto 1. Para compilar en el Mac, ¿que es lo que tengo que tener instalado en él?. ¿Algo que puedo descargar sin problema de la web de B4X?
 
Top