Sí, es posible en Angular y Node. El tiempo que demore dependerá de las características y su conjunto de habilidades.
La replicación de la funcionalidad de jsFiddle o CodePen (hay muchas como estas) llevaría meses para un desarrollador intermedio.
Si se centró en un subconjunto de características, probablemente podría escribir una prueba de concepto en unos días. Una versión de almacenamiento persistente para invitados / usuarios registrados puede demorar algunas semanas.
- ¿Necesitaría aprender JavaScript cuando salga WebAssemly para ejecutar mi programa C ++ en línea?
- Quiero construir un software educativo (por ejemplo, Coursera, Khan Academy). ¿Qué lenguaje / marco debo usar?
- Tengo una aplicación web de chat desarrollada con la pila MEAN. ¿Cómo sirvo mejor una gran cantidad de archivos mp3 cortos?
- Cómo agregar un formulario de suscriptor a mi sitio web pero sin enviar un correo de confirmación a la identificación del suscriptor
- ¿Puedo hacer una carrera como desarrollador web? Tengo 29 años y tengo un título de PG irrelevante en ciencias. He creado mi propio sitio web en PHP por experiencia, tengo conocimiento del marco MVC y he diseñado plantillas receptivas en Bootstrap.
Esencialmente, todo lo que está haciendo es recopilar un conjunto de texto de entrada en partes relevantes de un documento HTML (tal vez almacenar los datos JS y CSS en archivos del lado del servidor y permitir que se acceda a ellos a través del iframe en el cliente).
A mi modo de ver, las partes difíciles son:
- Asegurándolo contra ataques maliciosos
- Hacer que los archivos ‘externos’ (JS y CSS) estén disponibles para referencia dentro del resultado representado (es decir, para que puedan ser referenciados como recursos HTTP en etiquetas LINK / SCRIPT)
- Resaltado de código
- Entrada de formato (por ejemplo, espacios en blanco / sangrías)
Si un desarrollador inexperto se acercara a esto, puede ignorar las partes difíciles enumeradas anteriormente para el PoC. Solo enfóquese en escapar del contenido de entrada y almacenar ‘blobs’ o archivos en el servidor (usar una estructura de tipo blob en el servidor tiene más sentido ya que el acceso al sistema de archivos es terriblemente lento en comparación). Los objetos JS en memoria pueden funcionar suficientemente bien para un PoC.
Puede hacer todo esto con Angular, Node y MongoDB. Como un enfoque excelente: las solicitudes al servidor de URL como / username / fiddle-123 / js devolverían el JS que se escribió en el panel JS y se almacenó como una cadena escapada en el servicio MongoDB. Lo mismo ocurre con el CSS y HTML. Solo tiene que analizar la URL JS en una etiqueta de script en el encabezado del HTML de salida y se representará en el resultado del iframe. Probablemente hay formas mucho más elegantes de hacerlo, pero eso es un comienzo.