2009-10-07 22 views
7

Soy un programador de C y nuevo en el desarrollo web. ¿Qué tecnología C-web (código abierto) me conviene para aprender rápidamente para el desarrollo web?Desarrollo basado en web para el lenguaje C

Actualización: mi pregunta se basa en las tecnologías de cliente y servidor.

+0

uso de Python para la web y casi todo lo demás, pero un programa en C compilado con la opción - El indicador O3 debería proporcionar una velocidad interesante y más de 40 años de bibliotecas y optimizaciones. FastCGI habilita este http://www.fastcgi.com/devkit/doc/fastcgi-prog-guide/ch2c.htm http://stackoverflow.com/questions/2149709/c-language-fastcgi-with-nginx – timkofu

Respuesta

4

No conozco ningún uso frecuente actual de C (no C++) para el desarrollo web, mucho menos uno que pueda "aprenderse rápidamente". No es el lenguaje correcto para la tarea en general, aunque algunos módulos específicos en una aplicación web podrían escribirse en C para el rendimiento, e incluso entonces C++ sería más probable.

+1

Sí, memcached es un ejemplo de algo escrito en C – RichardOD

+0

memcached no es exactamente web thingie, aunque es muy utilizado para web. Y mientras estamos en ello, apoyo la idea de ir C++ en su lugar. –

0

Gran parte de la "programación web" hoy en día ocurre en el lado del cliente. A menos que investigue (o invente) un compilador cruzado de C a Javascript, no va a ejecutar una gran cantidad de código C en los navegadores de las personas.

En el lado del servidor, por supuesto, puedes escribir cosas en C si te apetece, y algunas personas sí.

+0

creo es más o menos claro, está hablando de la parte del servidor. –

+0

mi pregunta basada en el lado del cliente/servidor. estoy actualizando la pregunta –

0

Antes de que alguien sugiera que use el lenguaje substitute-fashionable-one, me gustaría decir que lo que necesita para hacer el desarrollo web con c es saber cómo hacer el desarrollo en c y comprender la naturaleza de los protocolos, marcado, etc. Las necesidades de la biblioteca son mínimas aquí. Y nadie te dirá cuál se adapta a tus necesidades y a tu percepción de la belleza.

+0

Cuidado con el uso accidental de etiquetas en sus publicaciones. –

+0

Gracias, Chris. No tenía idea de que está permitido ;-) –

+3

Las necesidades de la biblioteca son mínimas si está dispuesto a escribir su propio despacho de URL, autenticación, capa de base de datos, procesador de plantillas y muchas otras cosas que * se * equivocarán por primera vez (y segundo, también). Escribirlo solo es una gran manera de aprender, pero una forma muy desafortunada de crear una aplicación web profesional. – zoul

13

Sé que esto va a sonar arrogante, pero en vez de decir que eres un "programador en C" deberías decir que eres "un programador" y aprender un lenguaje más adecuado para la programación web. Será divertido, se convertirá en un mejor programador y es muy probable que las aplicaciones sean mejores.

Sé que en teoría puede escribir una buena aplicación web en cualquier idioma, pero en la práctica hay muchos aspectos que hacen que escribir en un lenguaje más popular (en el 'sentido webapp') sea más fácil. Muchos ejemplos, si nada más.

+0

Esta es definitivamente la mejor respuesta. – RichardOD

2

En el lado del cliente, tiene pocas opciones. Necesitas saber cómo manejar HTML/CSS/Javascript.

En el lado del servidor, tiene un montón de opciones.

Fui programador en C antes de entrar en el desarrollo web, y cuando apareció PHP, me atrajo porque tiene similitudes sintácticas con C, y (aún mejor), también hay muchas funciones de biblioteca de C estándar. (sprintf, fread, etc.)

PHP también es un lugar decente para comenzar, ya que funciona muy bien como lenguaje de procedimiento, y si nunca has hecho algo remotamente OO, es posible que encuentres una buena manera de mojarse los pies.

Esto no quiere decir que PHP sea el lenguaje más maravilloso del planeta. Hay muchos problemas Pero como un "primer lenguaje orientado a la web" para alguien que proviene de un entorno pesado de C, me siento en apuros para pensar en algo significativamente mejor.

+1

"php" originalmente significaba "página de inicio personal". Esto es exactamente lo que el lenguaje es bueno ;-) –

+0

Sí, eso es exactamente para lo que PHP era originalmente bueno. Creció, por lo que cambiaron el nombre a "preprocesador de hipertexto de PHP", que es una descripción bastante buena de mucho de lo que las personas hacen en la web. Si hay otro lenguaje centrado en la web que crees que sería una transición más fácil para un programador de C directa (se escriben bromas), sugiérelo. – timdev

+0

En cuanto a "php", no creo que haya crecido lo suficiente como para justificar el cambio de nombre, pero mi opinión no es la única y para mi sorpresa y (para mi sorpresa aún mayor) las opiniones argumentativas no son bienvenidas aquí, así que es mejor que no profundice en eso. Y no estoy seguro de que haya una necesidad real de transición más allá de C++. –

0

En el lado del cliente, no se puede hacer nada en C. En el lado del servidor se podría argumentar que todavía es posible crear un conjunto de cgi en C y estos cgi junto con algún código de cliente ingeniosamente diseñado (html + css + javascript) podría dar como resultado una aplicación web de última generación.

Sin embargo, esto se basa en mi experiencia, un camino muy difícil, y uno que es virtualmente imposible de seguir sin tener una buena idea en el entorno tan especial que es una aplicación web. Además, el resultado final será una bestia parecida a Frankenstein en el mejor de los casos. Confía en mí, he estado allí hecho eso.

Mi sugerencia para usted sería comenzar a estudiar el desarrollo web como tal. Es decir, el lado del cliente html + css + javascript y una solución de scripting del lado del servidor. Probablemente se beneficie al elegir una solución de scripting como php, debido a su proximidad sintáctica a C, pero en mi humilde opinión es la parte más fácil del trabajo. Entender cómo el lado del cliente (html + css + javascript) trabaja en conjunto para crear aplicaciones web hermosas, confiables y fáciles de usar es donde debe enfocarse. Debido a su experiencia en la programación C, será más fácil comenzar con el guión.

¡Buena suerte!

2

No estoy al tanto de cualquier uso intensivo actual de C (no C++) para el desarrollo web

Aunque no es de código abierto, el servidor Web G-WAN es el único ejemplo que saber del desarrollo web en C.

se le permite escribir scripts de C que se ejecutan en la marcha:

http://g-wan.com

Dada su experien ce en C, eso puede ayudar.

+0

¡Impresionante! Estaba buscando algo como esto, realmente esta cosa exacta. Gracias. – timkofu

4

Usted podría intentar KORE

Kore es un fácil utilizar el framework de aplicaciones web para escribir API web escalables en C.

Kore expone una API fácil de usar para construir sus aplicaciones. A continuación se muestra un ejemplo de lo fácil que es para ponerse en marcha con la escritura de aplicaciones web en C. El código va a responder a todas las solicitudes con una respuesta "Hola mundo"

#include <kore/kore.h> 
#include <kore/http.h> 

int page(struct http_request *); 

int 
page(struct http_request *req) 
{ 
    http_response(req, 200, "Hello world", 11); 
    return (KORE_RESULT_OK); 
} 

Kore hace que sea fácil para empezar sin tener que jugar con frameworks de compilación como make.

Usando los comandos integrados puede crear, compilar y ejecutar aplicaciones Kore.

Sin embargo, si lo prefiere construir Makefile y la vinculación de las bibliotecas junto a ti mismo, ir a por ello

$ kore create myapp 
$ cd myapp 
$ kore run 
compiling myapp.c 
myapp built succesfully! 
[parent]: running on https://127.0.0.1:8888 
[parent]: kore is starting up 
[wrk 0]: worker 0 started (cpu#0) 

Source

Cuestiones relacionadas