Which is the development platform used in Geogebra?

ariznaf shared this question 6 years ago
Answered

It may sound as an odd question, so I will explain why I am asking that.


I am using Geogebra in teaching Geotechnics in my University.


I love it, and I love it been able to run in tablets under multiple platforms.


I am trying to develope a program to do joint analisys in rocs mechanics, and I would like it to be platform independent and to run in Tablet and touch devices.


I need so do some 3D drawings of planes and slopes and things like these, in a way similar to what Geogebra does.


So I would like to know the development platform used in Geogebra for tablets, and the development language (I suppose JS and html5 for the interface, but what is hidden under that?),


I think you are using quite the same code for the PC development and the Tablet versión, just changing the code of the interface.

So I would like to evaluate the development platform used to see if I can use it in my Project with similar results.


Thank you

Comments (11)

photo
1

Hi,


I'm not a developer .... but do you mean something like this?


https://dev.geogebra.org/tr...

photo
1

Thank you Birgit.

Yes I have seen that they use eclipse and that is written in java.


But not all programs written in java and using Eclipse work in all platforms.

Most of them don't.


You may have a java program, but in order to get it working in IOS or Android, you have to compile it to some mixture of html5 and JavaScript or something like thet with a compiler tool, and use specific lilbraries that let you do that and interact with the Tablet or mobile (like gestures, gps Access, compass Access, etc).


Alternatively you could write a pure html5/JavaScript code, but I am not prificient in that.

I see html5/JS like a mess, with lots of browser and OS specific compatibility issues, and a mess mixing interface objects and code.

Thus using java of C# or other "traditional" development language is mor appealing to me.


I would like to know the libraries used to be able to interact with the Tablet and the tool to convert it in a native Android/IOS/Windows RT application in order to get it installed in any kind of device.


Geogebra has achieved that goal, and has 3D drawing capabilities that I need too.

photo
1

Well ...


have a look at the rest of the trac-wiki https://dev.geogebra.org/trac/

If you don't find what you need, you'll need to ask the developer in this forum. You can find their name on the trac wiki.


May be you'll need to ask them in a private mail.


And ... you can download the source code as it is an open source software.


Birgit

photo
1

I did not want to be so intrusive, a private mail may be irritating for some people, if they don't know you.

I will wait for some response, and if there is none, I will try to contact a developer.


I had taken a look to the source code, but it is quite complicated.


I had no previous expertize with eclipse, so analyzing the source code is the long way to know what are they using.


I will have another look to see if I can find the correct tools for making such an App.


Thank you for your tips.

photo
1

By the way:


it seems they are using GWT from Google.

But it seems to be a kind of tool to convert from java code and java UI classes to html5/JavaScript for using your application in a browser (IE, Firefox...)


I don't know if it is easy to generate with it a native application.


The geogebra for tablets apps are native applications (but may be the are just wrappers to display the web content generated by GWT).


Can you do that with GWT of you need another tool to do that?

photo
1

Yes, using GWT is the main concept. You may want to read more on that at https://php.radford.edu/~ej... and after signing up (it's free) at https://php.radford.edu/~ej.... The paper is a little bit outdated, but the main idea is still the same.


Good luck, best, Zoltan

photo
1

Great, thanks a lot.

I will read it in depth.


I understand the main idea is using Eclipse and the GWT plugin to develop the program.

The GWT compiler will convert your java code (using the gwt specific UI classes) to a mix of html5/JavaScript code which can be used in any html5 complaint brower application.


Then you need another tool to convert your your html5/JavaScript App in a native App for Androi/IOS/Windows RT.

That tool basically installs the html5 code files in the local device and uses a browser to display them (and packs all the file in the apropiate container, generates manifest files, etc).


Which is the tool you use in geogebra? (I asume it is open source).


Do you know if there are GWT classes to acces GPS, acelerometer and compass in the device (if there is one in it)?

photo
1

Maybe http://dev.geogebra.org/tra... can help. It contains a list of the used additional libraries. Also https://dev.geogebra.org/tr... may be helpful.


Best, Zoltan

photo
1

Hi,


the cuurent apps are using http://cordova.apache.org to run HTML5 app like a native one. With the next release Android app will use https://crosswalk-project.org/ which is basically Cordova too, just seems to be much better regarding performance.


Cheers,

Zbynek

photo
1

Thanks a lot to both.


I will have a look to that html5 to native App conversión program.


Zoltan, I had a look at that links and there are lots of info about the libraries used.

Many of them would be of great thanks (the math package, the openGL to java libraries, etc).


I have tried previously to program a simple App for Android in java and using the native libraries.

But it is quite a different matter from programing in java in Windows or in C#. The app model is quite different.

And I would like my App to run in Windows RT and IOS too, so the only way is something like GWT and a converter (there are some other platforms but they are too game oriented).


I have some experience with openGL. It used to be a simple way of doing 3D graphics, but the new openGL (small device oriented) is a mess. It has nothing to do with the openGL way of doing things, you need to deal with data structures, point arrays and a kind of pointers of indexes in them.


The java openGL libraries used in geogebra do work with a traditional openGL way of drawing or are the new 2.0 way?


Thanks a lot for you kind help.

photo
1

By the way, Crosswalk seem to be only Android compatible, not IOS.


It seems you need Cordova to run in both, and may be convert it to Crosswalk for Android targets in order to improve performance, don't you?

© 2021 International GeoGebra Institute