Hi All,
Just came across this thread by a routine Google search on "FoxInCloud".
Read many inexact statements, and unanswered questions about FoxInCloud, will give my vision.
I'll make sure to respect the Tek Tips posting guidelines "Promoting, selling, recruiting, coursework and thesis posting is forbidden."
Unfortunately, "Tek-Tips Posting Policies" (
brings up a blank page to me.
I'll concentrate on facts, only facts, and most (if not all) of what I'll write is public information.
@ vj (OP)
=========
vj said:
migrate the entire VisualFoxPro Application into FoxInCloud
1/ FoxInCloud lets you ADAPT your existing VFP desktop application to the Web - as your adapted application still runs the same on the desktop, there is
no migration nor conversion involved
2/ You can download and run for free the
FoxInCloud Adaptation Assistant (FAA) on your application: FAA will tell you exactly which parts of your application are currently supported, and which parts should be delayed until FoxInCloud later support.
In short, as of today, FoxInCloud supports:
- almost all native VFP controls including grid
- almost all VFP events including .QueryUnload(), .When(), .*Click(), .Mouse*() (FAA will tell you precisely which couple class-event is not supported, if ever this occurs in your application; as these are very marginal cases, it'll probably will not occur)
- VFP menus, either through menu designer or code
Will be later supported:
- classes: formset, hyperlink, toolbar, separator - as toolbars and formset are not very suited to a browser display, especially on mobile devices, we are thinking to a more adapted way to render these controls.
- events: mainly .Resize() and dynamic control resizing
You can easily know what is and what will be supported by using the above mentioned FAA, and browsing
Last thinking: you, and probably your users and clients, don't need your whole application adapted at once...
You can start with some forms (generally in the client service area such as ordering, invoicing, etc.), and add new forms later on.
What is very important is that FoxInCloud
never disrupts your usual developement cycle: once you've got the FoxInCloud adapation logic, all the code you write works in either desktop or web mode.
@ Mike Lewis
============
I wonder where and how you could find, and state such an amount of wrong and/or misunderstood information. Must be another consultant secret...
From our records it appears that, unless you use a pseudo (which
per se would be unfair), Mr. Mike Lewis has not asked any question to FoxInCloud, nor did he download the (free) trial version of the FoxInCloud Application Server, and thus did not test FoxInCloud.
Mike Lewis said:
1. FoxInCloud is essentially a mechanism for converting FoxPro applications to web-based applications. It does NOT provide a mechanism for running existing Fox code on a web server, nor is it a substitute for a full server-based platform such as .NET.
All Wrong:
1/ As explained above, FoxInCloud converts nothing; FoxInCloud is a VFP and JavaScript software layer hosting an ADAPTED VFP desktop application on a Web server.
2/ FoxInCloud runs the VFP application code, the whole VFP application code and only the VFP application code on a web server.
3/ Acting as a wrapper around the application, FoxInCloud is a indeed a full server-based platform.
Mike Lewis said:
2. One of its main functions is to convert FoxPro forms to HTML forms. This seems to work adequately for forms with simple controls such as command buttons and textboxes, but not for more sophisticated forms that contain grids, listviews, treeviews, etc.
1/ As mentioned above, FoxInCloud supports the most commonly used VFP controls and events, including grids.
2/ Adapting the whole application at once is not a requirement: you can add new forms down the road and expand your web application at your own pace.
3/ TreeView: often a requirement, though seldom vital; we are working on it
4/ ListView: we have no urgent demand for this control; most developers who mentioning ListView indicated they could do without
This demonstrates the current control, menu and event support:
This demonstrates the smartphone support:
Mike Lewis said:
4. It makes extensive use of West Wind's WebConnect component, so is subject to that product's constraints and dependencies - but that's not likely to be a problem in most cases.
Wrong - FoxInCloud makes a minimal use of West Wind WebConnect; in fact FoxInCloud only uses the 'connect' part of Web Connect, and not the HTML/CSS/JS and Web Control framework stuffs;
To be specific, FoxInCloud uses:
- Framework classes (
all 5/5
- Framework support classes (
3/6: wwSession, ww*Config
- Web Control Framework (
0/30
- JavaScript Client Classes (
none (could use more in the future)
- Utility classes (
7/30: mainly West-Wind Internet Protocols (wwHTTP, wwFTP, etc.), wwAPI, wwUtils, wwCodeUpdate
Mike Lewis said:
5. Reports are rendered as HTML pages. This probably works fine for simple reports, but in most applications you would soon come against its limitations.
Wrong: FoxInCloud users are free to generat reports in their preferred format, most of them use PDF;
FoxInCloud Application Server, trial edition (free to download and install @
comes with a demo app using either FoxyPreviewer, frx2any or XFRX
Delivering the report to the user requires a single instruction working in either desktop or web mode:
Code:
thisForm.wFileSaveAs(myFile)
Mike Lewis said:
6. I pointed out to my client that their website didn't give the company's contact details, or even say which country they are in, which doesn't inspire confidence. I had the impression that English was not their native language. That's not a criticism of course, but it was something that my client wanted to know.
Thanks Mike for anwering this one.
Just moved the 'powered by zenbuyer' stuff to the end of line, and added '66 rue Michel Ange - 75016 Paris - France' in the 'about' page
Mike Lewis said:
A migration path for VFP? Possibly, but with difficulty, and probably only for relatively simple applications.
With difficulty: FoxInCloud requires no additional knowledge but VFP development; if one consider the Web as the only really viable migration target, whatever web dev environment you'll choose (.NET, php, java, FoxWeb, activeVFP, etc.) will require, to make a web application similar to existing VFP desktop applications, an
extensive knowledge and practise of HTML, CSS and JavaScript.
You may find a lot of tools and helpers out there, but none of them - I mean a serious, professional one - will write HTML CSS and JS for you.
Been involved in Web development for 15 year, seen how far it has extended, and really not sure someone with absolutely no knowledge in this area can catch up so fast in order to be able to:
1/ develop a new web base application,
2/ continue the normal maintenance and support routine on the existing desktop application,
3/ pay the bill at the end of the month,
4/ spare some time to sleep.
For relatively simple applications
Some applications currently in production with FoxInCloud:
60 forms, 1,056 objects, 996 event methods, 50 reports, PostgreSQL database with 29 tables (largest holds 2M records), VFP database with 26 remote views, 150 named users, up to 20 concurrent users, 6 server COM objects, hosted in France, operated in Madagascar.
8 forms, 340 objects, 280 events, VFP database with 14 tables, 20 views
Mike Lewis said:
A solution to problems running under Windows 8? Definitely not. That would be like moving home because the shower is broken.
Though desktop VFP runs perfectly on Windows 8 and Windows 9/10 desktop, and will probably work just fine for another 15 years,
Definitely YES
Whenever a desktop application is adapted to the web using FoxInCloud, it only depends on:
- MS C++ redistributable (msvcr*.dll) - like 100s of 1,000s of other softwares all around the place, including Visual Studio
- COM system: counting the COM objects that Windows Server installs by default helps measure the risk that Microsoft discontinues this technology anytime soon.
In short, a VFP application running on a Web server using FoxInCloud no longer depends on:
- GUI layers like graphic boards and/or drivers
- Printer drivers: reporting into a file
- Networking protocol such as SMB: VFP data on the same machine or SQL database.
Mike Lewis said:
The path forward for VFP? I doubt it.
Let's expand a little more on that ...
FoxInCloud is an affordable solution to offer a Web application to users of an existing desktop application who prefers to keep a similar user experience.
From the real life one learns that clients of a desktop software will pay no more than a license for an additional module to get a web interface to an existing software; they never accept to repay for the full software or anything close to that.
If you compare this commercial reality to the expenses exposed by the development of a brand new Web Application, you can measure your risk.
FoxInCloud not only minimizes the amount of development required (1% of code refactoring - no rewriting or learning a different dev paradigm, just adding instruction, moving code between methods and changing native commands, methods and functions into FoxInCloud methods), FoxInCloud also delivers a real Web application using the latest Web technologies: HTML5, CSS3, AJAX, jQuery, JSON, etc.
The simple fact of manipulating these generated HTML, CSS & JS objects helps the developer enter into the Web world from a shop floor perspective, learning by practice rather than through theoretical courses: you can immediatly fill the gap between your VFP knowledge and the web world, map your VFP forms and controls to HTML forms and controls, see the equivalent for VFP events in HTML, see HTTP requests that the browser sends to the server, discover the JavaScript generated.
This kind of 'hands-on' learning can be very beneficial to many VFP developers who have not - yet - digged into the Web.
Mike Lewis said:
Thanks for putting me right. I don't remember seeing Thierry Nivelet's name or phone number anywhere on their site.
The 'about' section where I introduce myself has been on the foxincloud site since the initial startup, beginning of october 2010.
You've simply overlooked this section, like you probably did for the 'white paper', the 'how-to' and FAQ sections.
Did your client really pay for this study?
@ Olaf
=======
Olaf said:
I wasn't impressed by the performance of the demo.
What did not impress you? the speed or the range of functionalities?
- Speed: this past summer we've finally changed our old Win2k server for a brand new Win 2012 server - response time ÷ 3 - current average read in Firebug (or any similar browser developer tool): .45 s / user action
- Functionalities: a demo is necessarily simple - here are some more sophisticated/complete demos:
(controls & events overview - mentioned above)
(iPhone support, mentioned above)
(login/pass SG/SG) - full application including large datase, grid paging and navigation, printing into a pdf, sending emails and more.
Olaf said:
ActiveX also is not as easy as one would think.
What would you think / what experience do you have about ActiveX?
Thierry Nivelet (French native speaker)
FoxInCloud, ZenBuyer, IntuiCat