Spanish [NEWBY] Un roadmap 2026 B4X

Dr_JU

Member
Buenas noches, me presento:

Soy Jonathan, tengo 40, ciudad de Villa Mercedes, Provincia de San Luis, Argentina 🇦🇷

Me acabo de unir a la comunidad, para aprender a programar en B4X.

Mi BG/Stack informático y tecnológico:
  • C++ | F# | VBA & BASIC | VB | C# | PL/PgSQL | SQL
  • Hasta 4° Año de Ingeniería Mecatrónica (eran 6).
  • Electronica: Diseño PCB, PLC, ESP32, STM32, Arduino. [por eso C++]
  • IoT (Domótica), redes, Data Science, ML, IA, Energías renovables.
  • Electricidad: Hogareña e Industrial [hasta media tension y subestaciones].
  • Automatización industrial.
  • Diseño 3D (Rhino + Grasshopper, por eso VB y C#.
  • Impresión 3D (Filamentos).
  • Trabajo mucho con Supabase, por eso PL/PgSQL | SQL.
  • Mucha ofimática, por eso VBA & BASIC.
  • Y trabajé muchos años programando con F# (incluso hoy, pero la mayoría de las cosas es para servidor, consola, servicios y backend).
El tema es que tengo varios proyectos propios, que requieren Multi/Cros plataforma (no web), aunque todos convergen a lo mismo (soluciones para los usuarios).

Pero .NET es un ecosistema dormido en sus laureles, todo tiene un enfoque WEB-DEV, el problema de los versionados, la liturgia de los patrones y demás vicios de la industria, y bla bla bla bla.

Como así también que el mundo del software y hardware cambio mucho con los Data Driven Manged Systems y la incorporación de IA, sumado al lanzamiento de Windows Bloatware. Así que hoy en día me es indispensable poder desarrollar para Linux, Android, iOS, Raspberry Pi, Arduino, ESP32, STM32, etc. Pero de manera segura, eficaz, eficiente y bonita.

Buscando y buscando, me encontré con B4X y... Sinceramente me atrajo más que Kotlin MP, Flutter y demás. Por eso es que (aparte de la documentación oficial), que más me recomiendan (aparte practicar y errar), estilo roadmap, porque no se que tan actualizada y completa está la documentación (Ahí leia que Pages tiene problemas al rotar pantalla), por eso pregunto por esa "lectura complementaria".

Desde ya muchas gracias, y espero sus respuestas.
 

josejad

Expert
Licensed User
Longtime User
Hola Jonathan, lo primero de todo, bienvenido!

La documentación está actualizada, no está quizás estructurada de una forma cómoda, pero hay un usuario que se encarga de actualizarla.
Aunque hayas leído que B4XPages tiene el "problema" de que no puede rotarse, si vas a programar en multiplataforma, te sugiero que lo uses.
Realmente el problema no es de B4XPages, sino del ciclo de vida de Android que es complejo para manejar la rotación. De hecho, si usas aplicaciones android, verás que últimamente la mayoría no rotan. De todas formas, siempre puedes añadir una actividad que rote dentro de una app B4XPages, así que no te preocupes.
Si nos dices con qué tipo de aplicación vas a empezar, podemos orientarte con qué ejemplos puedes mirar.

Saludos,
 

Dr_JU

Member
Hola Jonathan, lo primero de todo, bienvenido!

La documentación está actualizada, no está quizás estructurada de una forma cómoda, pero hay un usuario que se encarga de actualizarla.
Aunque hayas leído que B4XPages tiene el "problema" de que no puede rotarse, si vas a programar en multiplataforma, te sugiero que lo uses.
Realmente el problema no es de B4XPages, sino del ciclo de vida de Android que es complejo para manejar la rotación. De hecho, si usas aplicaciones android, verás que últimamente la mayoría no rotan. De todas formas, siempre puedes añadir una actividad que rote dentro de una app B4XPages, así que no te preocupes.
Si nos dices con qué tipo de aplicación vas a empezar, podemos orientarte con qué ejemplos puedes mirar.

Saludos,
Estuve leyendo el foro, más allá de la documentación, así me voy dando una idea de cómo encarar el/los proyectos.

Igualmente... Más allá de que muchos proyectos "convergan" en uno. Siempre me gusta tener todo separado (aunque el core, bl, etc. sea el mismo).

Porque muchas veces aparecen bugs/hacks propios del OS, Dispositivo, etc. Entonces eso me permite dar una respuesta rápida sin tanto problema en la compatibilidad, sumado a que cada dispositivo y OS, tiene una manera diferente programarse.

También está el tema de Buenas Prácticas, ya que cada lenguaje/framework tiene sus maneras de lidiar con los tipos de datos, arrays, listas, etc.

Por ende, ej: en VBA conviene usar diccionario en vez de arrays, en BASIC conviene listas, etc.

Igualmente... Siquiera tengo noción (todavía no llego) a como testear en B4X, porque estoy más acostumbrado a F# (ahí todo es más fácil, exceptuando el ecosistema .NET).

Muchas gracias por tu aporte.
 

Dr_JU

Member
Hi Jonathan

It's always good to have a project in mnd when starting to use a new tool.
Maybe rewrite something you have done before and see the differences in code etc.

Regards

John.
Exactly! I have a project to do (Animal Control, AK; Animalia), to help people and municipality, so they improve the quality and response time of the different services (castration appointmentals, stray animals, lost/founds, free vaccinations, etc).

As well as to teach issues related to data science, ML, IA, real-time driven decisions.

{On user side} It uses GPS, PINs (pet types & sex) + user info, reader (QR, PDF417, Barcode), NFC, Bluetooth laser printers, schedulers (alarms & calendar), photos/pictures, etc.

{On Gov-employees side} it use dashboard, tables, maps, etc.
 

fabian

Member
Licensed User
Longtime User
Hola Luis , bienvenido a b4x . Creo que ademas de la documentaciòn , lo mejor es ir probando con pequeños proyectos e ir consultando aquì que te van a responder siempre . Si tu intencion es hacer poyectos multiplataforma esta es una gran opcion . B4x para tablets y desktops win,linux y osx es ideal , solo vas a tener que copiar y pegar los designs graficos entre un ide y otro y hacer algunas cositas programaticamente . Saludos
 

MrKim

Well-Known Member
Licensed User
Longtime User
Welcome aboard! Don't worry about the up to date docs issue. The best thing about B4x is the fantastic support you will find here. Rarely can you not get your questions answered within a day. Usually hours. But most of the time you will find what you need just by looking. You will find working examples for most anything you want to do here. The only caveat I have is watch the dates. Some of the older posts may no longer be relevant.
I am not exactly sure what you mean by "Even though many projects "converge" into one," if your intention is to have the same code work in Android/Iphone/Windows you do want to use B4X pages. You can later merge pages in to one app if you like.

Regarding " best practices , since each language/framework has its own way of handling data types, arrays, lists, etc." that is the beauty of B4x. There really are very few differences. Done properly these things are all handled very well by the compiler. Maps lists and arrays are all very fast.

The only thing I really miss are local static variables. If you need to maintain a value in a sub you must use a variable that is Class_global.

Tip: I have found the easiest way to work is to develop in B4J and then get it working in B4A/B4i.

The differences you handle with #If compiler variables. IE:
#If B4A
#Else If B4i
#Else If B4J
#End If
 
Top