Amazon Adserver

Friday, November 21, 2014

Declaration of Geekdom


    With all the hype in technology, it seems hard to believe, but humans
need a little development too. We are the technology, or rather, our understanding of the technologies enable them to be used. The most savvy, the most developed in these uses of technology are referred to as the geeks.

   I am one of these elite. I strive daily to understand where we are going in terms of technology and what we can do with it. Whenever the movement in technology is open, as it is starting to become, the geeks become the guidebook in what can be done with it.

    More importantly, when we connect, when we share, when we develop new things together, as a geekdom, then these things take a life of their own. This is the root of the open software, and the open hardware movements. This is the start of the maker movement, and without community, we cannot keep its ideals of openness, and collaboration.

   We must not be too guarded. We belong to the geekdom, and this is a community of friends and kindred spirits.

Sunday, November 16, 2014

Mobile Programming Lite

After researching mobile programming in general, and learning that there are essentially two flavors of mobile programming...
mobile websites or mobile app programs (in android .apk files),
I came up with an idea to join the two fields of mobile programming using Java extensibility.

Mobile websites are more straightforward in general than mobile apps. They tend to be HTML5 and javascript based, with the emphasis on interactivity,
and usage on smaller screens. They can be powerful, but deceptively simplistic in design, avoiding unnecessary menus, awkward external navigation and so forth.

Mobile apps are lightweight applications, built with Java or C++ libraries which are created for touch interactivity.
Gaming seems to be one of the most popular applications, but graphics, basic word processing, and other productivity software is available.

Here's the thing for me... Learning a programming language is a huge devotion of time and energy, but for seamless operation it makes sense for a small crew of programmers to know both approaches. So I looked into Java extensibility for making the same HTML5, Javascript, and SVG style programming available in Java. The following list comprises of the best or most widely used options for this type of extensibility.

Thymeleaf - HTML5

http://www.thymeleaf.org/features.html
https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin

Rhino- Javascript 

https://developer.mozilla.org/en-US/docs/Rhino_documentation
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Download_Rhino

Batik- SVG
http://xmlgraphics.apache.org/batik/using/scripting/java.html
http://xmlgraphics.apache.org/batik/using/scripting/ecmascript.html
http://xmlgraphics.apache.org/batik/download.html

LibGDX - Cross platform Game Development
http://libgdx.badlogicgames.com/features.html
http://libgdx.badlogicgames.com/documentation.html
http://libgdx.badlogicgames.com/download.html

There is a library internally developed for the Spring IO platform called Summer for HTML5.
There is also a WebGL library for Google Web Toolkit called GwtGL.
It is supposed to be a full binding for WebGL functionality. Because it is a Google Web Toolkit Library, it is not in other development environments.

The other libraries should be able to be added to the usual android sdk (Eclipse for Android) using the build path method described by a user on the stackoverflow forum
http://stackoverflow.com/a/3643015/4259590


A short conclusion:

 HTML5, Javascript, and SVG have been huge for mobile website development, but Java is the language used for a lot of mobile apps. However, Java is extensible. Adding the libraries for the current web technologies may make cross platform development more accessible to programmers who have principly used web technologies before. This will open up mobile app development to more developers, and make the code across many platforms more consistent.
When I have time, I will play with all of my new ideas, but until then I leave the testing to you.

Eclipse for Android
http://developer.android.com/sdk/index.html