Other Promoting B4J - What do you think?

Erel

B4X founder
Staff member
Licensed User
Longtime User
While there are many programming language available today, including free tools, there aren't many quality RAD (rapid application development) tools.
As I see it, B4J, especially after the latest update which adds an internal designer, is a good candidate to to be a very popular programming language / tool. I think of it as a modern VB6. A tool to get the job done.
It can also be a good choice for teaching programming.

How can we better promote B4J? What do you think?
 

sorex

Expert
Licensed User
Longtime User
to be honnest, I didn't like it at first but that was mainly because we had to use that external designer.

now I'm starting to like it and I wrote a few tools in it.

I have been thinking why I actually did that aswell last week, well for me the reasons are (in random order)...

free tool
comfort as I'm used to the B4A/I language
no more bloated Visual Studio installs
loads'n compiles faster than the above
bugs get actually fixed
close to personal contact with the dev team via this forum

to attract someone who never programmed or never used B4x products it might be difficult to get to this site as most of us ended up here in search for an Android RAD
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
How can we better promote B4J? What do you think?

I think this is also the problem of the apps developed by members.

As I wrote, everyone knows the Coca-Cola and, despite this, we see advertising on television "everyday".

Choosing the right "channels" at the lowest price is the only way.

In addition to this (that is primary) video tutorials on YouTube.
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
BTW, I guess that most developers are not aware of this but it is relatively simple to implement back-ends with B4J. With the jServer library (based on Jetty open source project) you can easily create high performance and stable back-ends.
B4i builders is a good example for this. They run for months without a single memory leak.
jSQL library allows you to connect to any database available. Either local or remote (if it supports it).
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
BTW, I guess that most developers are not aware of this but it is relatively simple to implement back-ends with B4J. With the jServer library (based on Jetty open source project) you can easily create high performance and stable back-ends.
B4i builders is a good example for this. They run for months without a single memory leak.
jSQL library allows you to connect to any database available. Either local or remote (if it supports it).

Personally, I know it: my super mega fantastic wonderful... "app" will be developed with B4J (web server) + B4A.


I know you understood, but...
Choosing the right "channels" at the lowest price is the only way.

with "channels" I don't meant tv channels, of course. I meant "means of communication"... mainly sites.
 
Upvote 0

Roycefer

Well-Known Member
Licensed User
Longtime User
Apple sells their products to college students at reduced prices to lock them into their ecosystem, hopefully creating a life-long Apple-exclusive customer in the process.

I think you should take a similar approach. Promote B4J to colleges, high schools and the like (no need to reduce the price) and students will be exposed to B4J during their formative years, hopefully branching out to other B4X products.

There are two big obstacles to this strategy: it puts B4X in direct competition with Apple's college strategy as B4X doesn't run on Apple software. And in order for educators to find a programming language/ecosystem compelling, I think they want to see its widespread usage in industry and academia (so that their students will have marketable skills upon graduation).

I think the solution to both those obstacles is a bit radical but not unfeasible. The B4X IDEs should be written in Java (using B4J) and run in the JVM (most likely an embedded JRE so that you have control over Java versions). Two of the most popular IDEs out there (NetBeans and Eclipse) are written in Java and reap the benefits of cross-platform adoption. Also, I think the most powerful self-endorsement of a product is if a company uses its own product to create its own products. Imagine if Microsoft used Borland C++ to develop Visual Studio. Or if Apple used NetBeans to write Xcode.

This solution would also allow for user-written IDE plugins, written in B4J, which would attract a much wider variety of programmers to the B4X ecosystem. Once users have written plugins that use alternative toolchains (gcc or avr-dude, for example) the appeal of B4X will widen considerably. Anywhere Software would be no more responsible for maintaining user-written plugins than it is responsible for maintaining user-written libraries so it shouldn't add too much of a headache.
 
Upvote 0

sorex

Expert
Licensed User
Longtime User
I like the school idea but for 10-12 year old classes.

When you go higher they would prefer the mainstream languages (java, VB/C .net) I guess.

Too bad there are these drag'n drop programming solutions aswell that they teach kids these days.
 
Upvote 0

sorex

Expert
Licensed User
Longtime User
on the chat were some guys who used B4A for a schoolproject a few years ago, they wrote a cooking app in it.
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
I'm looking for some important website which publishes a ranking of the most visited sites.

I found that a certain Alexa (Amazon), has in the first places... wikipedia.org.
I do not see B4J on Wikipedia: why not write a page there, as start point?

upload_2015-8-8_19-52-10.png
 
Last edited:
Upvote 0

Roycefer

Well-Known Member
Licensed User
Longtime User
Educators would prefer the mainstream languages only because B4J is relatively unknown/unused in industry and academia right now. Having Anywhere Software use B4J to develop the B4X IDEs would help counteract the perception of B4J as a "toy" and hopefully increase adoption in industry and academia (along with some conventional marketing and advertising, of course).

Interestingly enough, I'm constantly being assaulted with ads on YouTube videos and banners for a variety of development tools and proprietary IDEs. None of those ads are ever for the B4X family of products. If I was just starting out in programming and I saw an ad for "Free RAD for cross-platform server and UI desktop applications", I'd be quite interested.

Insofar as converting the IDEs to JavaFX, I've been looking at wrapping this project: https://github.com/TomasMikula/RichTextFX for use in B4J.

A lot of authors describe encapsulation, inheritance and polymorphism as the three requirements for "true" object oriented programming. B4X already has encapsulation and a form of limited polymorphism. I think it should add inheritance (and possibly abstract classes). This would make it a lot more attractive to academia and do more to counteract the notion of B4X as a "toy" language.

And when LucaMs writes B4J's Wikipedia article, it will be much more impressive to see "encapsulation, inheritance and polymorphism" listed as capabilities of the B4X language.
 
Upvote 0

Douglas Farias

Expert
Licensed User
Longtime User
Make it easy like b4a.

- Option to add font and use this on views.
- Option to chance select color of views like b4a (selected, disable, enable)
- VideoView Native of B4J
- Add any AD Lib to monetize the b4j apps (VERY IMPORTANT)
- Add DoEvents
- Option to make the layout script to the form, for example
B4X:
 form.SetLeftAndRight(0%x,100%x)
form.SetTopAndBottom(80%y,100%Y)
- Allow to use %x, %y on the code.
- Get KeyPressed (Add This option to a internal design at form)
- Make a option to already make a .exe when compile and not only .jar (.exe its important)
- Add Msgbox, toastmsg native of b4j, user press msgbox and already show a option in blue like b4a.
- Add Setvisible animated, for now i need to use this
B4X:
    pamostrafilme.SetAlphaAnimated(300,1)
    pamostrafilme.Visible = True


but the most important is the libs, when i started on b4a, i come to forum because the libs and a lot of examples.
Game Examples, samples to download.

i think b4j dont have much users like b4a because the libs.

Erel have made this lib now
https://www.b4x.com/android/forum/threads/jgooglemaps-library.56744/

+1 lib thats good to marketing too, but need so much more libs i think.
And later add same options of b4a on b4j, same = all or 99% will be good *-*


A lot of users dont make apps on b4j because the libs, look at me, 3 days trying to find a videoplayer to run videos on my app, dont exist this native i need to find a solution with html :(

thats bad for b4j, make it easy, will make a good marketing, imagine a lot of users making marketing of apps,
"app made in b4j"
"my app is made with b4j"

:D:D:D

GOOGLE TRANSLATE
THIS IS MY OPNION
 
Last edited:
Upvote 0

sorex

Expert
Licensed User
Longtime User
someone listed terms like that before that should've been added but then it loses the "easy to handle" part and the BASIC is the name won't be relevant anymore.
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
"encapsulation, inheritance and polymorphism"

They are powerful "tools", but I think they are hard to implement and, mainly, the power of b4x tools is its semplicity.
Many members of this site come from VB6 and they do not know those terms and do not want to know them.

Moreover, LucaMs should learn the English language, before writing on Wikipedia :D
 
Upvote 0

sorex

Expert
Licensed User
Longtime User
Moreover, LucaMs should learn the English language, before writing on Wikipedia :D

you could do the Ilalian version and maybe it auto translates it to english in a better way than you do? ;)

your english is good enough so I don't see a reason to always complain about it, there are a lot of examples on the forum that needs real decyphering to figure out what it could be about.
 
Upvote 0

Roycefer

Well-Known Member
Licensed User
Longtime User
I disagree. Adding inheritance doesn't make inheritance mandatory for a programmer to use. Besides which, polymorphism and encapsulation are already in effect in B4X and I haven't seen very many posts complaining about that. Furthermore, catering to the sensibilities of customers who don't want to learn anything new is a great way to ensure that your customer base never expands beyond those boundaries. The universe isn't creating any more former-VB6-programmers but it is creating tons of new programmers. If B4X continues to cater only to former-VB6-programmers, especially at the expense of newer programmers, B4X will end up in the same place as VB6 which would be very sad, indeed.

Also, keep in mind that former-VB6-programmers will already have had decades of experience in cultivating a professional reputation and a client base. This affords them the freedom to use whatever tool they want. New programmers are at the mercy of industry and academic trends. If you want new programmers to adopt B4X, you have to make B4X attractive to industry and academia.

I think "simplicity" is a tricky word. In my opinion, one of the great strengths of B4X is its brevity. It converts this mind-numbing mess:
B4X:
public class MainClass
{
    public static void main(String args[]) throws Exception
    {
......
to this:
B4X:
Sub AppStart(Args() as String)
.....
If the main method is always "public static void", then why do those words have to be there? If the main method is always in a class (probably a main class) then why does the class have to be there? Here, B4X keeps things brief without sacrificing functionality.

But if I want to do this:
B4X:
public abstract class AbstractMatrix
{....}

public class ComplexMatrix extends AbstractMatrix
{....}

public class RealMatrix extends AbstractMatrix
{....}
in B4X, I can't. Instead, I have to separately create a ComplexMatrix class and a RealMatrix class and separately implement all of their member methods. Any other method that, in Java could just accept AbstractMatrix as a parameter, in B4X I have to write separate versions that accept ComplexMatrix and RealMatrix parameters. This also prevents me from having the same run-time flexibility (without hacking together something with reflection which incurs performance penalties). In this case, by making things "simple", B4X made my code a lot less brief and sacrificed a lot of functionality and increased my development time.
 
Upvote 0

Squiffy

Active Member
Licensed User
Longtime User
Read my comment here to a blog post in my favourite front end WYSISYG product :
http://www.elevatesoft.com/blog?action=view&id=why_limit_web_development_to_javascript
(I'm Squiffy there as well)

I have to develop web apps because that's what my industry requires of me. I hate web apps. I love VB6.
I don't want to be relevant with the latest blah tech (Angular, Meteor, React, bleaauuhhhh). I'm in this for the money, & productivity = money in my game.

B4J is a great web back end (server) tool. I'm lovin' the language and the fact I can deploy a stand alone server without learning Java. The forum here is great, too. Erel, you are very involved and helpful, I can see that from searching the forum. Elevate Web Builder is a great front end tool. Tim, the developer, is very helpful on his forum. With B4J as the back end and Elevate as the front end (developed in Pascal which I also love) I'm cookin' on gas. With both of these tools, I am productive, and therefore happy and able to pay the bills.

I think there's a big gap between latest technology and people who just get on with a job. The best tools are not always cool.

Not sure where I'm going with this post (I'm a teensy bit drunk). Oh yes, that was it - promotion. No idea, sorry. But if I do think of anything, I'll let you know here.
 
Upvote 0

narek adonts

Well-Known Member
Licensed User
Longtime User
My opinion is B4X has a great potenital.
The main issue for me is the leak of libraries.
For the solution is to find an investor and start to build a big company with all up to dates SDK, Libraries, Funcionalities. If someone will know that all the native function from iOS, Java will be available at ease a lot of programmers will use B4X.

I think it will not be so difficult for this project to find an investor (s)

Narek
 
Upvote 0

Squiffy

Active Member
Licensed User
Longtime User
That's a point - your question (Erel) begs another . What are you looking for? Are you looking for an investor? Do you wish to continue to be philanthropic and give your hard work away (for which I am very grateful)? Are you trying to gauge if people would pay (I think I probably would)?

To what ends are you imagining your promotion?
 
Upvote 0
Top