test.html
<html>
<body>
<h1>Esta es una pagina HTML normal</h1>
</body>
</html>test.avfp
<html>
<body>
<h1>Esta es una pagina AVFP</h1>
VFP Version: <%= VERSION() %>
</body>
</html>Acerca del 1% de codigo que necesitaria adaptacion:
---------------------------------------------------
El % de codigo que necesitaria cambios esta basado en un detallado analisis sobre mas de 4,500 proyectos de todas partes del mundo, analizados por FAA y compartidos por los usuarios: http://foxincloud.com/shared-projects.php.
Este % ha estado creciendo ligeramente con el tiempo; solia estar por debajo del 1% pero hoy en dia esta mas cercano al 1.3%. Proyectos mas grandes tienden a necesitar un menor % de adaptaciones que proyectos mas pequeños.
Si el FAA detecta literalmente todo lo que necesita de la atencion del programador, el time que toma lograr dichas adaptaciones dependera de la habilidad del programador para entender y considerar ciertos aspectos especificos de FoxInCloud y del desarrollo web en general:
- Como muchos otros frameworks, FoxInCloud esta basado en asumpciones y principios subyacentes que el desarrollador necesita **entender** y dominar, razon por la cual proporcionamos el FoxInCloud Live Tutorial, donde los usuarios pueden 'levantar la capota' y ver el codigo fuente completo en linea y en su propio IDE VFP: http://foxincloud.com/tutotest/.
- Como cualquier aplicacion web, un servidor de aplicaciones FoxInCloud es capaz de servir no solo a un usuario, como una aplicacion de escritorio, sino a cualquier cantidad de usuarios; aun mas, varios servidores logicos o fisicos pueden servir a cualquier usuario, estableciendo relaciones de muchos-a-muchos entre usuarios y servidores; la manera de trabajar "sin estado" es confusa para muchos programadores acostumbrados a aplicaciones individuales para un solo usuario; de nuevo, ellos necesitan entender como un codigo diseñado inicialmente para relaciones 1-1 puede trabajar en un ambiente n-n.
Este post sumariza los puntos principales que hay que atender cuando se esta adaptando una aplicacion a la web: http://foxincloud.com/blog/2018/04/17/why-how-adapt-your-app-for-web.html
Los usuarios de FAA pueden personalizar la unidad de tiempo por adaptacion basados en sus propias experiencias, y tomar en consideracion su propia curva de aprendizaje.
El % de adaptaciones toma en consideracion cualquier libreria de terceros o framework incluido en el proyecto de la aplicacion. Dado que FoxInCloud no hace diferencia entre el codigo de usuario y el codigo de librerias, estos modulos necesitan ser adaptados al igual que el resto de la aplicacion.
El verdadero punto es sobre adaptar librerias de terceros que involucran una interfaz de usuario, o frameworks; no tanto FoxyPreviewer, que muchas aplicaciones FoxInCloud ya utilizan (http://foxincloud.com/tutotest/bs/report.tuto), o FoxBarcode, pero otras como ribbonbar o Ctl32, debido a que esas librerias ya no son mantenidas (o mejoradas) nostros en FoxInCloud deseariamos que un grupo de programadores se unieran a nuestros esfuerzos en algun tipo de repositorio GitHub para lograr adaptarlas (lo cual añade dependencias en la capa publica de FoxInCloud https://github.com/FoxInCloud/FoxInCloud-AB). Hasta ahora no hemos podido llegar a ese punto; pudimos reunir 5 desarrolladores dispuestos a adaptar Promatrix, pero ningun tomo el liderazgo realmente como para poder empezar.
Acerca de la apariencia de FoxInCloud comparado a otras aplicaciones Web:
-------------------------------------------------------------------------
No hay realmente nada que haga alguna diferecnia, especialmente desde que implementamos response HTML Rendering en el 2017. Muchos clientes de FOxInCloud estan felices de vender sus aplicaciones web sin tener que responder a la pregunta de "en cual lenguaje esta desarrolado esto?". De hecho, las aplicaciones web FoxInCLoud tienen una UI mucho mas rica y avanzada que muchas aplicaciones web que existen por ahi:
- Full AJAX
- Full HTML5/CSS3
- Soporte para todos los controles VFP (excepto toolbar y formset), incluyendo grid y algunos ActiveX (treeview, IE, pronto tambien RTF)
- Estados de usuario completamente soportados
- Todo el codigo de negocios del lado del servidor
- Tiempos de respuesta por debajo de 1s
Cualquiera puede probar una aplicacion web FoxInCloud responsive, y ver el codigo subyacente, aqui: http://foxincloud.com/tutotest/bs/
El desarrollador tiene un panel de control fantastico sobre su aplicacion: http://foxincloud.com/tutotest/bs/foxincloud_status.tuto
FoxInCloud ha estado en produccion por mas de 7 años ya, en aplicaciones bastante complejas, con bases de datos SQL o VFP, o tablas libres, sin errores (100% SLA) durante varios dias, con mas de 30 usuarios concurrentes, con mas de 40k peticiones por dia (2 billones de instrucciones VFP ejecutadas cada dia).
About 1% code adaptation
The % of code needing an adaptation is based on a thorough analysis of over 4,500 projects from all around the world analysed by FAA and shared by users: http://foxincloud.com/shared-projects.php.
This % is slightly increasing over time, used to be under 1%, today closer to 1.3 %.
Larger projects tend to have smaller % than smaller projects.
If FAA detects literally everything that need developer's attention, the time it takes to achieve the code adaptation depends on the ability to understand and keep in mind some specificity of FoxInCloud and Web development in general:
- like with any frameworks, FoxInCloud is based on assumptions and underlying principles that the developer needs to **understand** and to take a grasp upon; reason why we release the FoxInCloud Live Tutorial, where users can 'lift the hood' and see the full source code both on line and in their own VFP IDE: http://foxincloud.com/tutotest/
- like any web application, a FoxInCloud Application Server is able to serve not just one user like in a desktop application, but any user; moreover several logical or physical servers can serve any user, making a many-to-many relation between users and servers; this 'stateless' way of working is misleading for many developers used to a single app instance for a single user; again they need to understand how a code initially designed for a 1-1 relationship can work in a n-n environement.
This blog post summarises the key points to address when adapting an application to the web: http://foxincloud.com/blog/2018/04/17/why-how-adapt-your-app-for-web.html
FAA users can customise the unit time per adaptation based on their own experience, and take into account their own specific learning curve.
The % of adaptation takes into consideration any third party library or framework included in the application project. As FoxInCloud makes no difference between user code and library code, these modules need be adapted like the rest of the application.
The real question is about adapting third-party libraries involving a user interface, or frameworks; not so much FoxyPreviewer that many FoxInCloud applications already use (http://foxincloud.com/tutotest/bs/report.tuto), or Foxbarcode, but ribbonbar or ctl32; as these libraries are no longer maintained (no more evolutions) we at FoxInCloud wish a group of developers would join their efforts in some kind of GitHub repo to get them adapted (which adds dependencies on FoxInCloud public layer https://github.com/FoxInCloud/FoxInCloud-AB). So far we could not get to that point; we could gather 5 developers wanting to adapt Promatrix, but no one really took the lead to get started.
About the look and feel of FoxInCloud compared to other Web Applications,
There's really nothing that make any difference, especially since we implemented responsive HTML rendering in 2017. Many FoxInCloud clients are happy to sell their Web Applications without having to answer the question "which language is it developed with?". In fact FoxInCloud Web Application are far richer and more advanced than many web applications out there:
- full AJAX
- full HTML5/CSS3
- Support for all VFP controls (except toolbar and formset), including grid and some activeX (treeview, IE, soon RTF)
- Fully manages user state
- All business code on server side
- response time below 1 s.
Anyone can test a responsive FoxInCloud Web Application, and see the underlying code, here: http://foxincloud.com/tutotest/bs/
Developer has a fantastic control panel over his application: http://foxincloud.com/tutotest/bs/foxincloud_status.tuto
FoxInCloud has been in production for more than 7 years now, on very complex applications, with either SQL or VFP database or free tables, with 0 errors (100% SLA) on several days, over 30 concurrent users, over 40k requests per day (2 billion VFP instructions executed every day).
--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/38f51156-1daa-45b6-b2c0-d39b7788fdf0n%40googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/SN7PR06MB7312CBC22C5D35A6C7C6AF5BC549A%40SN7PR06MB7312.namprd06.prod.outlook.com.