Sunday 13 September 2015

Boolean lab - my android app

Boolean lab

I have published my android app - Boolean lab - in Google Play.

How is it written?

This app is created using Ionic, it means it is an hybrid app (HTML + CSS + JS). Using this app, there is no difference between hybrid and native app.

Who is this for?

It is intended for students and others who want to know how Boolean logic works. If you are not familiar with the term "Boolean logic", you maybe know "logic function, logic variable, logic operator" such as OR, AND, XOR etc.

How it works?

Boolean lab is fully interactive. When you change the input(s), the output(s) change immediately. You can understand how logic gates work; the gates as are included together with logic functions. There are 24 logic circuits as well for better understanding.

How it looks like?




From the Google Play:

Boolean lab - a small laboratory in your mobile / tablet. 

Interactive and visual explanation of the boolean variables, logic functions and their behavior. For each logic function is shown its type, truth table and gate. Everything is interactive - input variables change is immediately reflected in the truth table and on the input(s) and output(s) of gates. 

You can set the label logical values either in shape or H-L 1-0 or T-F, marking the log. function F or Y, the indication of the clock signal T, C or E.

It contains 24 interactive engagement logic circuits.

Four languages

The app is is localized into four languages: English, Spanish (Castellano), Czech, Portuguese.




Thursday 3 September 2015

Framework

Framework

Framework is an library of CSS and/or JS. 

CSS framework defines common visual rules and could offer new "components". It is designed for "nice look" of web page and/or hybrid app.

JS framework defines functions useful for developer. Using JS framework means less work and better efficiency.

There are many frameworks, some of them are famous and useful.
There are many differences across frameworks, so the question Which one is the best? could not be answered. It depens on many factors.

I personally use Ionic framework, which I recommend for developing hybrid mobile apps.





Wednesday 2 September 2015

Hybrid mobile apps

Hybrid mobile apps

Are written in combination of HTML + CSS + JS. 

HTML stands for HyperText Markup Language and is used for the web pages. CSS is Cascading Style Sheets language for defining visual rules on the web page. JS means JavaScript. 

How can be hybrid app run on mobile devices as we know it is the web page? The answer is simple. There is the source code of our app (HTML + CSS + JS) and it is transformed to the package native-like-app. It means, we need transform ("compile") the source code to the destination format needed for the destination platform. For Android it is the .apk file format.

There are two services for that transformation ("compilation"):
For the first point of view we can assume they both are the same.




Tuesday 1 September 2015

Mobile apps

Mobile devices

Mobile devices are very popular at this time. There are not only mobile phones (smartphones) or tablets, mobile devices include other things like wearables (watch, ...).

Platforms (operating systems)

There are different platforms (operating system) used on different mobile devices. 
Some of them are:
  • Android (Google)
  • iOS (Apple)
  • BlackBerry (BlackBerry)
  • Windows Phone (Microsoft)
  • Tizen (Samsung, Intel)
  • ...

Mobile apps

Mobile apps are used on mobile devices. We can devide them into three types:
  • native apps
  • web apps
  • hybrid apps
Native apps are written in native programming lamguage for the platform they are used on. For example, Java is used for Android. They look "native" and have the best performance. Can use any HW functions.

Web app is divided into two parts: the first part is running on the server and the second on the device itself (in the web browser).

Hybrid apps are very interesting and have some advantages. They are written in HTML + CSS + JS languages (although only JS is programming language). The great thing is we can produce apps for all desired platforms from the same source code. Eg., we write the one source code only and are able to produce app for Android, iOS, Windows Phone, ... frome the same source code.

Hybrid apps have a lower performance, but in many situations there is no markable difference and the user experience should be the same as for native apps.