2008-11-17 9 views
16

Necesito escribir un front-end gráfico basado en web temporal para un sistema de servidor personalizado. En este caso, el rendimiento y la escalabilidad no son problemas, ya que como máximo 10 personas pueden verificar el sistema simultáneamente. También debe ser PHP o Python (servidor) & JavaScript (cliente) (no se puede usar Flex o Silverlight para problemas específicos no relacionados con la programación).¿Qué es un buen marco de interfaz de usuario de nivel muy alto para JavaScript?

Así que sé que podría usar YUI o jQuery, pero me preguntaba si hay algo más de alto nivel que me permita escribir un proyecto tan pequeño en unas pocas horas de trabajo, y terminar con ello. Básicamente, quiero ser lo más perezoso posible (este es el código desechable de todos modos) y hacer el trabajo en el menor tiempo posible.

¿Alguna sugerencia?

+0

www.firebrickjs.com es una biblioteca y marco de componentes de interfaz de usuario js de alto nivel simple – Stevanicus

Respuesta

14

Como no se ha mencionado todavía: jQuery.UI

+0

Sí, olvidé que jQuery.UI no lo había usado, pero dado que aprovecha jQuery debería ser fácil. –

+0

Es curioso cómo tu pregunta ahora te pide algo más fácil que JQuery (Internet es un medio gratuito, puedes pedir lo que quieras;) Sin embargo, mi respuesta para JQuery es aceptada: p , no importa. –

+14

No creo que jQueryUI califique como marco de interfaz de usuario de "muy alto nivel". –

18

Puede consultar ext.js - proporciona muchos widgets para GetThingsDone rápidamente.

+0

Gracias, ext.js se ve bien y las muestras parecen usar el código –

+1

Debe agregar una nota que Ext 3 trae toneladas de mejoras, incluyendo un constructor gráfico de interfaz de usuario. – eyelidlessness

+0

Algo a tener en cuenta es que gastar tal precio por un "código desechable" parece no ser sensato para mí ... –

4

ExtJs, Bindows, YUI. Los primeros dos son comerciales, pero vale la pena el dinero.

8

Recientemente he estado jugando con Cappuccino, y considero que es un marco de trabajo muy directo y agradable para trabajar.

1

Me gustaría probar application.js - menos animación, muchos controles y es administrador de ventanas (alguien mencionó a Bindows ... no vale la pena el dinero por una IU terrible).

utilizado en este Online Word Processor

encuentro capuchino confuso, y no quiero aprender otra lengua atada a una sola biblioteca.

1

YUI parece ser bueno, mientras que Extjs también se acerca mucho. Hay poca diferencia entre YUI y Extjs, aunque YUI es gratuito tiene un soporte de comunidad mucho mayor y está respaldado por un gigante como Yahoo. para cappuccino tendrá que pasar tiempo aprendiendo su Objective-J, una vez aprendido que no necesita escribir una sola línea de HTML, CSS y manupulación Dom. Pero si está cómodo con todo esto ¿por qué perder tiempo aprendiendo objetivo-J? Bindows nuevamente es un buen marco muy similar a YUI y Extjs, lo que me gusta es que tiene muchos temas listos que hacen que sea más atractivo y simple diseñar tu propio tema personalizado. Pero diga 2 años más tarde, personalmente creo que YUI habría ido mucho más lejos que todo esto.

+1

YUI no ha ido a ninguna parte desafortunadamente –

0

Sproutcore sería una buena opción.

Si no está familiarizado con él, puede encontrar que el tiempo requerido para aprender los conceptos básicos es demasiado largo para el código descartable, pero una vez que tiene los principios básicos es bastante rápido desarrollarlo.

2

Echa un vistazo DHTMLX.

DHTMLX Toolkit es un conjunto completo de componentes DHTML UI habilitados para Ajax. La cuadrícula, treegrid, treeview, tabbar, calendario, menú, barra de herramientas, combobox, ventanas, navegador de elementos, selector de color y cargador de archivos desarrollados profesionalmente faculta a los desarrolladores para crear aplicaciones web multiproveedor con alta interactividad y rica experiencia de usuario. Los componentes de DHTMLX proporcionan el conjunto más completo de funciones y le permiten llevar a la web la funcionalidad de escritorio.

1

Vine por qooxdoo hace un tiempo. No lo he usado, pero al menos las demos parecen geniales.

2

De todos los frameworks JS, JQuery y YUI son mis favoritos. Logran mucho de lo mismo pero de maneras muy diferentes.

Para su solicitud (flojo, fácil y poderoso) Yo votaría JQuery. Si esto es algo que será a más largo plazo y más una aplicación que es muy prolija y codificada, votaría YUI.

Realmente no creo que haya nada mejor que estos dos frameworks. Cualquiera de las opciones es buena.

5

¡También la biblioteca de UI de Dojo llamada Dijit es absolutamente considerable!

1

Qooxdoo es fenomenal. Puede hacer dispositivos móviles, web y escritorios con él. Se abstrae todo el html y css. Está bien documentado y OO. También puede usar los mismos objetos del lado del servidor y del lado del cliente.

http://qooxdoo.org/demos

1

responsabilidad: Soy autor de Web Átomos JS

Átomos Web JS fue construido para llevar todos los conceptos de Flex, Silverlight y XUL. Y cada una de estas tecnologías usaba más marcado XML para controles de UI de muy alto nivel. Las pantallas se vuelven complejas y visualizarlas se vuelve doloroso cuando sigue cambiando.

Con Web Atoms escribirás por menos código que cualquiera de los otros frameworks.

Esta es una muestra de lo que todo es posible en Web Atoms JS.

Aquí está el enlace a la documentación. http://webatomsjs.neurospeech.com/docs

enter image description here

0

Usted podría intentar RedUI, no está listo para la producción todavía, sino que debe ser bueno para su objetivo.

El enfoque se inspira en WPF, que describen la interfaz de usuario de controles predefinidos, como cuadro de texto, Combobox, sino también algunos controles más complicados como TreeView o GridView. En el modelo, también declaras enlaces de datos.

La biblioteca mostrará una ventana para usted.

Luego lo vincula al modelo de vista, se suscribe a eventos y agrega la lógica personalizada que maneja esos eventos (por ejemplo, en "window.closed" puede enviar de nuevo el modelo de vista actualizado al servidor).

Puede ver ejemplos en vivo en http://redui.net/

También puede ver la aplicación de demostración en http://redui.net/mailclientdemo/. Esto te dará una idea de lo que puedes hacer.

0

Intente utilizar Anijs.Reduce las acciones de interfaz de usuario de alto nivel para líneas simples

6

como 2017 *

si quiere dar dinero:

si decide mantener su dinero con usted mismo:

Si los objetivos es escribir código de interfaz de usuario muy alto nivel, los siguientes programas generadores de código son simplemente increíble para construir toda la interfaz de usuario de la aplicación en cuestión de minutos (para los que quiere usar Bootstrap):

1

ShieldUI es también un buen marco comercial.

0

Utilicé JQuery.UI. Esto no es necesariamente una respuesta a esta pregunta (Especialmente porque es una publicación anterior), pero pensé que compartiría lo que tengo, en caso de que ayude a alguien más, ya que llegué a este artículo buscando cómo crear un menú desplegable. UI.

Tenga en cuenta que esto es para MVC.

Atención: que no hay ninguna funcionalidad añadida a esto todavía real, es un punto de partida, lo que crea una interfaz de usuario que permite a gota y arrastrar elementos:

Diseño:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<title>jQuery UI Droppable - Default functionality</title> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 
<link rel="stylesheet" href="/resources/demos/style.css"> 
<style> 
    ul.listRoles { 
     width: 300px; 
     height: auto; 
     padding: 5px; 
     margin: 5px; 
     list-style-type: none; 
     border-radius: 5px; 
     min-height: 70px; 
    } 

     ul.listRoles li { 
      padding: 5px; 
      margin: 10px; 
      background-color: #ffff99; 
      cursor: pointer; 
      border: 1px solid Black; 
      border-radius: 5px; 
     } 
</style> 
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
<script> 
    $(function() { 
     $("#listDenyRoles, #listAllowRoles, #listAllowMoreRoles").sortable({ 
      connectWith: ".listRoles" 
     }).disableSelection(); 
    }); 

    function submitNewRoles() { 
     //Generate List of new allow roles 
     var outputList = $("#listAllowRoles li").map(function() { return $(this).html(); }).get().join(','); 
     $("#GrantRoles").val(outputList); 
     $("#formAssignRoles").submit(); 
    } 
</script> 
</head> 
<body> 
<div class="container body-content"> 
     @RenderBody() 
     <hr /> 
     <footer> 
      <p>&copy; @DateTime.Now.Year - My ASP.NET Application</p> 
     </footer> 
    </div> 
    } 
</body> 
</html> 

Índice página (he sustituido el Índice Inicio con este código):

@{ 
    ViewBag.Title = "Home Page"; 
} 

<p> 
    To GRANT a user a role, click and drag a role from the left Red box to the right Green box.<br /> 
    To DENY a user a role, click and drag a role from the right Green box to the left Red box. 
</p> 

@using (Html.BeginForm("AssignRoles", "UserAdmin", FormMethod.Post, new { id = "formAssignRoles" })) 
{ 

    String[] AllRoles = ViewBag.AllRoles; 
    String[] AllowRoles = ViewBag.AllowRoles; 

    if (AllRoles == null) { AllRoles = new String[] { "Test1","Test2","Test3","Test4", "Test5", "Test6", "Test7", "Test8", "Test9", "Test10", "Test11", "Test12", "Test13" }; } 
    if (AllowRoles == null) { AllowRoles = new String[] { }; } 

    @Html.ValidationSummary(true) 
    <div class="jumbotron"> 
     <fieldset> 
      <legend>Drag and Drop Roles as required;</legend> 
      @Html.Hidden("Username", "Username") 
      @Html.Hidden("GrantRoles", "") 

      <table> 
       <tr> 
        <th style="text-align: center"> 
         Deny Roles 
        </th> 
        <th style="text-align: center"> 
         Allow Roles 
        </th> 
       </tr> 
       <tr> 
        <td style="vertical-align: top"> 
         <ul id="listDenyRoles" class="listRoles" style="background-color: #cc0000;"> 
          @foreach (String role in AllRoles) 
          { 
           if (!AllowRoles.Contains(role)) 
           { 

            <li>@role</li> 
           } 
          } 
         </ul> 
        </td> 
        <td style="vertical-align: top"> 

         <ul id="listAllowRoles" class="listRoles" style="background-color: #00cc00;"> 
          @foreach (String hasRole in AllowRoles) 
          { 
           <li>@hasRole</li> 
          } 
         </ul> 
        </td> 
        <td style="vertical-align: top"> 

         <ul id="listAllowMoreRoles" class="listRoles" style="background-color: #000000;"> 
          @foreach (String hasRole in AllowRoles) 
          { 
           <li>@hasRole</li> 
          } 
         </ul> 
        </td> 
       </tr> 
      </table> 
      <p><input type="button" onClick="submitNewRoles()" value="Assign Roles" /></p> 
     </fieldset> 


    </div> 
} 

Esperemos que esto puede ayudar a alguien más en la derecha directi en.

Cuestiones relacionadas