FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Cita:
A mi modo de ver la cosa no es tan compleja: Creo unos componentes "firechicken" (en vez de firemonkey). En Designtime, esos componentes adoptarían el aspecto de los componentes nativos que tenga seleccionado en ese momento en el compilador con un simple combobox (algo parecido a como vemos ahora en los videos del sneak peak de Embarcadero para Android). Es decir, si tengo seleccionada plataforma Android, adoptarían el aspecto de los controles de Android, y si tengo seleccionada la plataforma iOS, adoptarían el aspecto de la plataforma iOS. (Sin necesidad de crear un form para cada plataforma) Los componentes "firechicken" tendrían todos las mismas propiedades en cualquier plataforma (o prácticamente las mismas). A la hora de dibujar los componentes en pantalla, lo harían usando la API de los controles nativos de la plataforma para la que compilemos (Esto se puede conseguir fácilmente usando varios IFDEFs). A la hora de por ejemplo, programar el evento OnClick de un botón de firechicken, este haría la llamada a la API nativa del componente correspondiente, y si dicho evento no existe en el control nativo, pues se programa. Si firemonkey estuviese diseñado de esta forma, tendríamos prácticamente un único código, con un único formulario y con el rendimiento de los componentes nativos. De hecho, esto ahora mismo ya se podría conseguir, pero se tendría que hacer mucho trabajo de forma manual. Yo ahora mismo, podría hacer una unit que al ser introducida en el uses de un form firemonkey, en vez de dibujar los controles de firemonkey dibujasen controles nativos de la plataforma seleccionada. Pero claro, tendría que redirigir cada evento y cada propiedad de cada control y crear/adaptar los que no existan. Demasiado trabajo para una persona pero no para el equipo de ingenieros que probablemente tendrá Embarcadero. No sé si me he explicado.... |
#2
|
||||
|
||||
Cita:
Cita:
De nuevo, error de concepto, asi esta diseñado. De lo que vos te quejas es de que el dibujo no sea nativo, porque el resto asi funciona |
#3
|
|||
|
|||
Cita:
Y a día de hoy, y hablando de XE4, para aplicaciones de "oficina" sigo sin ver a Firemonkey como una alternativa viable. Y te voy a poner un pequeño ejemplo: Usa un tableview con dos tabs que pasen entre ellas mediante una típica animación de iOS como es el tslide. En la primera tab, pon por ejemplo, un botón de "Seleccione su país", que al ser pulsado, con la animación tslide pase al segundo tab que contendrá un TableView con un listado de países. Usa en el simulador de iPad o en un dispositivo real que no sea un iPhone 3GS o 3G (que son los que tienen menor resolución). Ahora pulsa el botón y verás que la animación va a trompicones, y que al deslizarte por el listado de países petardea que da gusto. Puedo entender que para algunos esto sea tolerable, para mí.... no. (Y no hablemos ya de rellenar listas en runtime....) Vamos, es que si queréis os puedo poner un par de demos usando controles de firemonkey y luego los nativos y veréis que no son ilusiones mías... es como cambiar de un 600 a un BMW M5... Por otro lado, no es ese el único problema... ¿habéis intentado ejecutar una aplicación de firemonkey de XE4 en iOS 7 ? Aparte de que pasa una cosa bastante extraña, y es que tienes que pulsar ligeramente sobre el control para que este responda, el aspecto adoptado de la aplicación es el de iOS6. Si usas componentes nativos el aspecto que adopta es el de la versión de iOS que el dispositivo usa. ¿Tendremos que pagar el update a XE5 para disponer del stylebook de iOS7? |
#4
|
||||
|
||||
Cita:
Cita:
De todos modos sigo creyendo que es una opción muy viable contra las demás del mercado, solo resta ingeniarselas, o usar XCODE, el camino mas largo y de seguro el mejor, pero a costo de una curva de aprendizaje enorme. Nunca usaría Oxygene, me parece una pérdida de tiempo terminar usando VS solo para escribir en pascal. |
#5
|
||||
|
||||
Cita:
Lo que hay en VS, XCode, cualquiera de java, etc son cosas mas bien pobres. Asi que lo "normal" es hacer las cosas por código. De hecho lo que hago en xcode es prototipar con keynote (http://www.apple.com/es/iwork/keynote/) y/o xcode y luego hacer las pantallas por código. Eso en que importa con Delphi? Que resulta que hay mucho ejm e infraestrucura para hacer estas cosas "manualmente" de forma muy eficiente, y una vez se hace el trabajo basico, es facil de organizar. Un ejemplo: http://escoz.com/open-source/quickdialog Para mi, hacer un formulario en iOS es así: Código PHP:
Asi que si hay forma de hacer lo que dices, creo que es preferible gastarse la semana que tarda en hacer un unit que hago cosas como las que muestro, junto con los ifdefs para cada OS que sacrificar el desempeño, porque es MAS fácil solucionar un problema de layout de codigo a mano, que tratar de hackear una libreria masiva como firemonkey y corregir errores de desempeño, o sufrir por tener acceso a cosas nuevas del OS (ej: cambios en la versión) y asi por el estilo por no tener una forma visual de hacer el formulario. Y si eso queda bien? Hacer el diseñador de formularios no queda muy lejos en estos dias... P.D: Y sacando de la manga un truco que se hace por xcode, que tal parsear el DFM y armar el formulario desde allí?
__________________
El malabarista. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sumar campo cuando este asi actualizado | rufo | Varios | 12 | 28-05-2010 21:17:03 |
Informe Actualizado | BlueSteel | Impresión | 3 | 05-10-2006 01:09:00 |
no me muestra un campo actualizado con triggers | pmfras | Firebird e Interbase | 0 | 05-03-2005 17:41:07 |
Administrador para MySQL actualizado | Gasper | MySQL | 0 | 01-04-2004 20:54:40 |
|