West Wind Web Store .NET
HandHeld Programming
Gravatar is a globally recognized avatar based on your email address. HandHeld Programming
  Edward K. Marois
  All
  Apr 21, 2014 @ 09:58am
Dear Rick:

This is Edward from Realty Information Systems writing again.

I have been tasked with looking into getting the whole 'Hand Held' thing going.

We would like to be able to have a 'Listening' Program from a PC be able to receive requests from a hand held, Process them and then send them back.

Basically we would like a user to request a tenant bill and have it appear on an Android in a timely manner.

We would really like to avoid having a web component.

Clearly Visual FoxPro 7.0 is NOT going to be doing this.

We also clearly want to do this all in house.

How would you go about doing this ???

Gravatar is a globally recognized avatar based on your email address. Re: HandHeld Programming
  Rick Strahl
  Edward K. Marois
  Apr 21, 2014 @ 12:40pm
Hi Edward,

Not an easy answer, but basically you have two main choices:


  • Build a mobile Web app (ie a Web app/form optimized for mobile)
  • Build a mobile Device App that gets installed and runs on the device

Mobile Web Apps


The former certainly is easier and it's possible to build some pretty nice user interfaces to make this work. You can then use a Web service (or just an HTML based backend like Web Connection for VFP) to handle the data display. Modern options include doing all the data with client side JavaScript only (ie. treating pages as an 'application') using tools like Angular, Ember or other SPA frameworks or even just plain JavaScript + jQuery if the scenario is simple enough.

This works pretty well if your app doesn't need access to special features of the phone - for typical business interfaces this works great.

For an example of a pure mobile Web app check (not really a business app) checkout my GeoCrumbs.net site on a mobile device. Although this app uses .NET on the backend, the data served in that app could just as easily come from FoxPro (in fact I used it as a demo at last year's Southwest Fox conference. This particular app is an SPA, using AngularJs on the client and a simple Web service on the backend.

Another advantage of this approach is that once you build this it'll typically work on any mobile device be it iOS, Android, Windows Phone etc. as well as on the desktop.

Mobile Device Apps


The other option is you build an actual mobile device app on Android, iOs etc. You can use the device specific APIs to do this, but this requires learning the device specific APIs. There are also special tools that can help with this. One several FoxPro people have played with is Llanja which provides a generic interface to build apps for various mobile platforms as well as desktops (Windows, Mac, Linux).

There are also tools like PhoneGap that let you build local HTML based applications and then run them in a wrapper on the actual device as an APP. It's similar to having an application host that runs a Web browser control to host html/javascript content. It works, but it too can be quite a bear to get configured and running and keep updated.


Generally building device specific apps is not something I would recommend unless you want ro relearn just about everything and deal with the device specific platform issues and installation configuration of the environment. It's a pain, but the right way to go for consumer level applications that have a wide audience. If you're building stuff for internal/vertical use I think device specific content would be nice, but requires too much investment. Wouldn't be my choice.

Another issue with Apps is that in order to distribute them you typically have to place them in an AppStore of some kind, which means they need to get approved. Relatively easy sideloading is supported only on Android devices - for other platforms either the official AppStore or a customized AppStore must be used for installation.

Regardless of which option you choose - mobile device access will require rethinking and relearning from VFP style programming. But IMHO, the HTML route at least gives you skills that are applicable across the board for Web development which IMHO is the future of where we're headed. Apps will eventually either move to HTML or else the Web will replace them eventually as developers won't put up with device specific APIs for every platform once the shine comes off the whole 'apps are cool' idea.

+++ Rick ---



Dear Rick:

This is Edward from Realty Information Systems writing again.

I have been tasked with looking into getting the whole 'Hand Held' thing going.

We would like to be able to have a 'Listening' Program from a PC be able to receive requests from a hand held, Process them and then send them back.

Basically we would like a user to request a tenant bill and have it appear on an Android in a timely manner.

We would really like to avoid having a web component.

Clearly Visual FoxPro 7.0 is NOT going to be doing this.

We also clearly want to do this all in house.

How would you go about doing this ???



Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

Gravatar is a globally recognized avatar based on your email address. Re: HandHeld Programming
  FoxInCloud Support - Thierry N.
  Edward K. Marois
  Apr 23, 2014 @ 01:11am
Hi Edward,

If you choose the Web app root that Rick mentioned earlier, you may consider using FoxInCloud;
you just need to develop a VFP app that will run in the browser just like on the desktop.

If any of your form has a timer, it'll fire in the browser and bring back from the server whatever data or document your app makes.


Dear Rick:

This is Edward from Realty Information Systems writing again.

I have been tasked with looking into getting the whole 'Hand Held' thing going.

We would like to be able to have a 'Listening' Program from a PC be able to receive requests from a hand held, Process them and then send them back.

Basically we would like a user to request a tenant bill and have it appear on an Android in a timely manner.

We would really like to avoid having a web component.

Clearly Visual FoxPro 7.0 is NOT going to be doing this.

We also clearly want to do this all in house.

How would you go about doing this ???


-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: HandHeld Programming
  Harvey Mushman
  Rick Strahl
  Apr 23, 2014 @ 04:55pm
Interesting write up and very good explanation. One question, as you know, I've been learning BootStrap which is a CSS and jQuery way to style ones page. This morning by coincidence, I was following your suggestion from the SW Fox conference and taking a look at AngularJS thinking about client data storage. Besides seeing that it is my neighbors product, (Google LA which means I might be able to get local support for my dumb questions<g>), I noticed they offered but yet another choice for a Tab Page interface.

My question for you, knowing what you understand, what is the best solution for this sort of display, WC Tab control, Bootstrap or Angular with Bootstrap woven in? Or what if I use the WC Tab with BootStrap which I have tested a bit and it seems to resize without any problems.

--hm


Hi Edward,

Not an easy answer, but basically you have two main choices:


  • Build a mobile Web app (ie a Web app/form optimized for mobile)
  • Build a mobile Device App that gets installed and runs on the device

Mobile Web Apps


The former certainly is easier and it's possible to build some pretty nice user interfaces to make this work. You can then use a Web service (or just an HTML based backend like Web Connection for VFP) to handle the data display. Modern options include doing all the data with client side JavaScript only (ie. treating pages as an 'application') using tools like Angular, Ember or other SPA frameworks or even just plain JavaScript + jQuery if the scenario is simple enough.

This works pretty well if your app doesn't need access to special features of the phone - for typical business interfaces this works great.

For an example of a pure mobile Web app check (not really a business app) checkout my GeoCrumbs.net site on a mobile device. Although this app uses .NET on the backend, the data served in that app could just as easily come from FoxPro (in fact I used it as a demo at last year's Southwest Fox conference. This particular app is an SPA, using AngularJs on the client and a simple Web service on the backend.

Another advantage of this approach is that once you build this it'll typically work on any mobile device be it iOS, Android, Windows Phone etc. as well as on the desktop.

Mobile Device Apps


The other option is you build an actual mobile device app on Android, iOs etc. You can use the device specific APIs to do this, but this requires learning the device specific APIs. There are also special tools that can help with this. One several FoxPro people have played with is Llanja which provides a generic interface to build apps for various mobile platforms as well as desktops (Windows, Mac, Linux).

There are also tools like PhoneGap that let you build local HTML based applications and then run them in a wrapper on the actual device as an APP. It's similar to having an application host that runs a Web browser control to host html/javascript content. It works, but it too can be quite a bear to get configured and running and keep updated.


Generally building device specific apps is not something I would recommend unless you want ro relearn just about everything and deal with the device specific platform issues and installation configuration of the environment. It's a pain, but the right way to go for consumer level applications that have a wide audience. If you're building stuff for internal/vertical use I think device specific content would be nice, but requires too much investment. Wouldn't be my choice.

Another issue with Apps is that in order to distribute them you typically have to place them in an AppStore of some kind, which means they need to get approved. Relatively easy sideloading is supported only on Android devices - for other platforms either the official AppStore or a customized AppStore must be used for installation.

Regardless of which option you choose - mobile device access will require rethinking and relearning from VFP style programming. But IMHO, the HTML route at least gives you skills that are applicable across the board for Web development which IMHO is the future of where we're headed. Apps will eventually either move to HTML or else the Web will replace them eventually as developers won't put up with device specific APIs for every platform once the shine comes off the whole 'apps are cool' idea.

+++ Rick ---



Dear Rick:

This is Edward from Realty Information Systems writing again.

I have been tasked with looking into getting the whole 'Hand Held' thing going.

We would like to be able to have a 'Listening' Program from a PC be able to receive requests from a hand held, Process them and then send them back.

Basically we would like a user to request a tenant bill and have it appear on an Android in a timely manner.

We would really like to avoid having a web component.

Clearly Visual FoxPro 7.0 is NOT going to be doing this.

We also clearly want to do this all in house.

How would you go about doing this ???




--hm--

Gravatar is a globally recognized avatar based on your email address. Re: HandHeld Programming
  Rick Strahl
  Harvey Mushman
  Apr 23, 2014 @ 05:01pm
If you use BootStrap use the BootStrap Tab control - that way everything is consistent. Angular doesn't really have controls per se - they just have some mechanisms to manage the display view flipping unless you're using an add-on like Angular-UI which actually integrates with Bootstrap.

Angular is getting more popular all the time and one of the competing frameworks just announced, that the main architect is joining the Angular team. That's a pretty big deal actually, starting the consolidation process to push for a relatively universally used client side framework. Everyone seems to be jumping on the Anugular bandwagon at the moment.

I've been doing a lot of Angular stuff in the last half a year or so and while it's not perfect - lots of rough edges and terrible documentation - it's as good as complex JavaScript development has been to date IMHO. It's pretty nice how you can break down complex interfaces using Angular's modularization approach.

+++ Rick ---



Interesting write up and very good explanation. One question, as you know, I've been learning BootStrap which is a CSS and jQuery way to style ones page. This morning by coincidence, I was following your suggestion from the SW Fox conference and taking a look at AngularJS thinking about client data storage. Besides seeing that it is my neighbors product, (Google LA which means I might be able to get local support for my dumb questions<g>), I noticed they offered but yet another choice for a Tab Page interface.

My question for you, knowing what you understand, what is the best solution for this sort of display, WC Tab control, Bootstrap or Angular with Bootstrap woven in? Or what if I use the WC Tab with BootStrap which I have tested a bit and it seems to resize without any problems.

--hm


Hi Edward,

Not an easy answer, but basically you have two main choices:


  • Build a mobile Web app (ie a Web app/form optimized for mobile)
  • Build a mobile Device App that gets installed and runs on the device

Mobile Web Apps


The former certainly is easier and it's possible to build some pretty nice user interfaces to make this work. You can then use a Web service (or just an HTML based backend like Web Connection for VFP) to handle the data display. Modern options include doing all the data with client side JavaScript only (ie. treating pages as an 'application') using tools like Angular, Ember or other SPA frameworks or even just plain JavaScript + jQuery if the scenario is simple enough.

This works pretty well if your app doesn't need access to special features of the phone - for typical business interfaces this works great.

For an example of a pure mobile Web app check (not really a business app) checkout my GeoCrumbs.net site on a mobile device. Although this app uses .NET on the backend, the data served in that app could just as easily come from FoxPro (in fact I used it as a demo at last year's Southwest Fox conference. This particular app is an SPA, using AngularJs on the client and a simple Web service on the backend.

Another advantage of this approach is that once you build this it'll typically work on any mobile device be it iOS, Android, Windows Phone etc. as well as on the desktop.

Mobile Device Apps


The other option is you build an actual mobile device app on Android, iOs etc. You can use the device specific APIs to do this, but this requires learning the device specific APIs. There are also special tools that can help with this. One several FoxPro people have played with is Llanja which provides a generic interface to build apps for various mobile platforms as well as desktops (Windows, Mac, Linux).

There are also tools like PhoneGap that let you build local HTML based applications and then run them in a wrapper on the actual device as an APP. It's similar to having an application host that runs a Web browser control to host html/javascript content. It works, but it too can be quite a bear to get configured and running and keep updated.


Generally building device specific apps is not something I would recommend unless you want ro relearn just about everything and deal with the device specific platform issues and installation configuration of the environment. It's a pain, but the right way to go for consumer level applications that have a wide audience. If you're building stuff for internal/vertical use I think device specific content would be nice, but requires too much investment. Wouldn't be my choice.

Another issue with Apps is that in order to distribute them you typically have to place them in an AppStore of some kind, which means they need to get approved. Relatively easy sideloading is supported only on Android devices - for other platforms either the official AppStore or a customized AppStore must be used for installation.

Regardless of which option you choose - mobile device access will require rethinking and relearning from VFP style programming. But IMHO, the HTML route at least gives you skills that are applicable across the board for Web development which IMHO is the future of where we're headed. Apps will eventually either move to HTML or else the Web will replace them eventually as developers won't put up with device specific APIs for every platform once the shine comes off the whole 'apps are cool' idea.

+++ Rick ---



Dear Rick:

This is Edward from Realty Information Systems writing again.

I have been tasked with looking into getting the whole 'Hand Held' thing going.

We would like to be able to have a 'Listening' Program from a PC be able to receive requests from a hand held, Process them and then send them back.

Basically we would like a user to request a tenant bill and have it appear on an Android in a timely manner.

We would really like to avoid having a web component.

Clearly Visual FoxPro 7.0 is NOT going to be doing this.

We also clearly want to do this all in house.

How would you go about doing this ???






Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

© 1996-2024