Quiero crear un sitio web como Twitter y Facebook. ¿Qué tipo de lenguajes de programación necesito aprender?

Bien, no para desanimarte, pero debes preocuparte por aprender a codificar primero y luego, finalmente, retomar un proyecto. No puede simplemente saltar a una idea e intentar aprender código a medida que avanza. Simplemente no funciona así.

Si tuviera un dólar para todos que dijera “Tengo una idea que es como, X, X, X y X” y luego nunca despegó. Sería multimillonario.

De todos modos, Python y Ruby son dos lenguajes bastante populares en este momento que muestran un gran potencial a largo plazo.

Aquí hay algunos buenos sitios para principiantes:
http://www.codeschool.com/
http://railsforzombies.com/
http://www.learnpython.org/

Después de obtener una comprensión básica sobre cómo codificar, eventualmente desea elegir un marco web como Flask (marco de Python), Django (marco de la web) u otra cosa para construir un sitio encima.

Editar: creo que leí mal su pregunta inicialmente … si desea crear una aplicación para Facebook, Twitter, etc. Probablemente debería aprender Javascript además de lo que he recomendado. (Aunque FB y Twitter tienen API de Python y Ruby, por lo que realmente no importa). También depende completamente de lo que planeas hacer. Si vas a hacer un juego, probablemente necesites saber Flash, etc.

No pelees la última guerra.

Esos sitios se escribieron en un momento en que, obviamente, la web social no existía, por lo que el panorama tecnológico era muy diferente, por decir lo menos. Usaron la tecnología existente para inventar el futuro, pero las herramientas que usaron pueden ser insuficientes para seguir sus pasos.

Si eres nuevo en el desarrollo, inclinarte por Ruby o PHP puede ser una buena idea, y aprender SQL definitivamente lo es. Pero cuando llegue el momento de construir un proyecto real, no descarte muchas de las nuevas tecnologías que simplemente no eran opciones viables al nacer la Web 2.0.

  • Plataformas de JavaScript del lado del servidor, como Node, y marcos de JavaScript, como Angular, Backbone y Ember. La web era muy diferente en 2004, y descubrirá que ahora, como surfista (sin darse cuenta), está acostumbrado a utilizar un Internet muy dinámico (caracterizado por solicitudes asincrónicas, lo que significa recibir y enviar contenido sin la página tiene que actualizarse). Gmail inventó esto, y ahora está por todas partes, tanto que parece obvio. Estos y otros marcos de Javascipt están diseñados para acomodar y potenciar este tipo de desarrollo, que solía ser mucho más raro de experimentar y mucho más engorroso de implementar.
  • Bases de datos NoSQL, y quizás lo más interesante, bases de datos gráficas. Ahora, Facebook, Twitter y LinkedIn se hacen poderosos por sus tecnologías gráficas patentadas que permiten a estos sitios decir “Te va a gustar esta publicación” o “Probablemente conozcas a este tipo”. Estas compañías fueron pioneras en este campo, pero ahora a raíz de su éxito, es mucho más fácil para cualquier desarrollador implementar una base de datos gráfica modesta. Analizar las relaciones es mucho más engorroso y poco natural con SQL que con Cypher, el lenguaje de consulta que ofrece Neo4j. Y organizar varios tipos de datos puede ser más flexible con MongoDB.
  • Teléfonos móviles y tabletas . Hay más pantallas en las que tenemos que pensar ahora, lo que puede ser malo porque significa más trabajo por hacer y más especializaciones a tener en cuenta (lo más probable es que haya más personas con las que trabajar), pero puede ser genial porque las implementaciones móviles a menudo son éxitos desbocados con conjuntos de características muy escasos. El entorno móvil ofrece la oportunidad de diseñar “interacciones asesinas” que pueden convertirse en el sello distintivo de su producto, como con Tinder o Shazaam.
  • API sociales y de otro tipo. El espacio social ahora está muy lleno, y también está completamente dominado por los principales jugadores que fueron capaces de innovar durante el desarrollo de los avances antes mencionados. Lo que esto significa es que ahora es mejor aprovechar el éxito de estos servicios, no tratar de enfrentarse cara a cara con ellos en su competencia principal. No tendría sentido intentar iniciar una nueva red social (si eso fuera todo). Innovar para el mundo de hoy, contra el panorama actual. Use la API de gráfico social de Facebook, use la API de ubicación de Foursquare y consulte la Web programable y Mashape para obtener innumerables otras API menos conocidas.
  • Gran diseño entendido y esperado . Mira lo descuidado que era Facebook cuando salió por primera vez hace diez años. La web era mucho más ingenua (y indulgente), pero ahora la gente se ha echado a perder en una era de diseño bastante bueno, o al menos una era con un reconocimiento general de buen diseño. Tomemos el ejemplo de que el iPod tenía solo tres años cuando salió Facebook. Desde entonces se han aprendido muchas lecciones, y el público ahora tiene un estándar mucho más alto. Al seguir Dribbble y Product Hunt, notará que incluso las startups más pequeñas presentan diseños muy limpios. A menudo repiten elementos comunes (fondos borrosos gaussianos, fotos de perfil circulares, videos de pantalla completa en la página de inicio, desplazamiento de paralaje, etc.), pero como ha dicho Jon Ive, una solución de diseño es excelente cuando es “inevitable”.

La mejor de las suertes.

No ha mencionado ninguna experiencia en programación, por lo que le sugiero que comience a aprender html, css y javascript básicos. Todos los sitios web dinámicos que se propongan construir necesitarán estos bloques de construcción básicos. Luego, familiarícese con PHP o Python y aprenda a pensar como un programador. También necesitará aprender algunos sql para trabajar sin problemas con una base de datos. Comprenda que hay varias formas de hacer lo mismo, pero para destacar realmente, debe idear sus propias técnicas. Tienes que empezar de a poco. Probablemente pagará $ 4 por mes por hospedaje mientras prueba su sitio. Esto está perfectamente bien. No fijes tu vista en vencer a Facebook en la primera semana de tu lanzamiento. No es pragmático a menos que tenga su propio equipo dedicado y un montón de dinero. Una vez que piense que su sitio web está listo y libre de la mayoría, si no todos los errores, inicie su.

El mejor lugar para aprender programación es http://codecademy.com , allí aprenderá lo suficiente para construir un sitio web pequeño aunque funcional.

PD: Necesitará comprender cómo se ejecuta Linux para obtener realmente el control detallado que buscan la mayoría de los webmasters. Como novato, si no tienes problemas, probablemente no estés trabajando lo suficiente. Date cuenta de que cada problema que enfrentas podría haber sido enfrentado por miles de personas antes que tú. Si necesita ayuda, use http://stackoverflow.com y asegúrese de buscar la solución antes de agregar una nueva pregunta. Algunas personas pueden ser hostiles allí, pero casi siempre obtendrá la solución a su problema.

Nota: Supongo que le gustaría aprender programación mientras construye su sitio web. Si ese no es el caso y solo está buscando un paquete preconstruido, intente usar un CMS (Sistema de gestión de contenido) como WordPress o Phpfox o Social Engine o Elgg.

Facebook es una pieza de software ridículamente grande y compleja que utiliza toneladas de tecnologías, muchas de ellas propietarias.

Dicho esto, si su objetivo es crear una aplicación de redes sociales más simple, necesitará el conjunto de habilidades de un desarrollador web de pila completa.

Una “pila” se refiere a las capas de tecnologías entre el hardware del servidor y el navegador del usuario final requeridas para una aplicación web completa. Dentro de esta definición algo simplista, puede dividir aún más la pila en dos partes: el front-end y el back-end. Un desarrollador front-end se especializa en la parte interactiva y orientada al usuario de una aplicación web: el aspecto, la combinación de colores, las animaciones, los botones y todo lo demás que conforma la interfaz de usuario (“UI”). Un desarrollador de back-end trabaja con servidores, consultas de bases de datos, escribe API y algoritmos de ingenieros para devolver la información adecuada a sus contrapartes de front-end.

Un ingeniero “full stack” es uno con experiencia y conocimiento tanto del front-end como del back-end. Hay varias pilas populares para elegir, y cuanto más exposición tenga a diferentes tecnologías, más versátil y con mayor demanda tendrá como desarrollador.

Si quieres aprender, echa un vistazo a DigitalCrafts en Atlanta. Enseñamos el desarrollo completo de JavaScript / Node.js, con exposición adicional a PHP y la pila LAMP, así como el diseño UI / UX.

La mejor de las suertes,

Max McChesney

Hay muchos idiomas que puede usar para lograr ese objetivo, y para ser más específicos, con ‘eso’ me refiero a una aplicación web. Los más populares son:

  • Pitón
  • Rubí
  • PHP

Usaría Ruby porque es un lenguaje de programación orientado a objetos que le permite definir el comportamiento central de su aplicación (puede comenzar a aprender los conceptos básicos aquí: Ruby). Pero para hacerlo con facilidad, deberá elegir un marco, como Rails (Tutorial de Ruby on Rails: Aprenda Rails por ejemplo), esta integración de trabajo de Ruby and Rails se conoce comúnmente como Ruby On Rails o ROR. Rails le permitirá usar las clases y métodos de Ruby para manejar sus modelos (tablas de su base de datos) y recuperar lo que quiera en una página web, por ejemplo, la cantidad de me gusta que tiene una determinada publicación.
IMPORTANTE: Si usa ROR no hay necesidad de aprender ningún lenguaje de consulta para conectarse con una base de datos, al menos no será un ‘must’.

Ahora, dado que su aplicación web necesita algunas páginas sofisticadas para chuparse los dedos, debe aprender a crear el esqueleto con HTML5 y darle un poco de estilo con las hojas de estilo en cascada o CSS3 (Introducción a CSS3, HTML y CSS).

Para el último, hay algunas animaciones y / o interactividad que son mejores para producir con JavaScript que cualquier otra cosa, así que intente cavar en jQuery primero (logra las mismas cosas pero con una sintaxis más fácil, aprenda aquí: jQuery).

Hasta ahora todo bien …, no se trata de leer un poco y tal vez 2 o 3 videos tutoriales. Crear una aplicación web es una tarea difícil, pero aprenderá muchas cosas que son muy valiosas para los empleadores hoy en día.

Recuerde … Google, StackOverflow y git serán sus mejores amigos para solucionar problemas y mantener su código lo más limpio posible.

Debo decir que ese es un objetivo muy grande para un principiante.

Esa también es una pregunta muy amplia, creo que sería mejor si pudiera reducirla a “¿Qué lenguajes de programación debería aprender a comenzar a desarrollar un sitio como Facebook ? O” ¿Cómo puedo crear un sistema de notificación ? “, Porque esto La pregunta es muy difícil de responder. ¿A qué parte de Facebook nos referimos aquí? Sabes que Facebook es más que unos pocos botones y feed, ¿verdad?

¿Alimentar? Sistema de mensajería? Pagos? Grupos? Páginas? ¿Perfil? ¿Reconocimiento facial? ¿Aprendizaje automático? ¿Algunas cosas avanzadas que aún no conocemos?


Se requieren HTML y CSS para el front-end. Herramientas, motores de plantillas, etc., estos son completamente su decisión.

Necesita un RDBMS como MySQL para guardar los datos del usuario.

Tienes suerte en el backend porque tienes muchas opciones. Me quedaría con Node.js (Javascript del lado del servidor) o Laravel (el framework PHP más popular). Ambas son buenas elecciones.

Puede elegir prácticamente cualquier pila que desee, porque no habrá un problema de escala hasta que llegue a unos pocos millones de usuarios.

Buena suerte.

Bueno, prácticamente sabes todo lo que se requiere para crear este tipo de sitios web. Lo primero es lo primero, no es esencial que conozca múltiples lenguajes de programación para desarrollar un sitio web. Los que conoces son lo suficientemente buenos.

Intenta dividir el problema en partes más pequeñas que puedan ser atacadas fácilmente. Entonces, Facebook, eh, comience con un sistema básico, tal vez usando spring (spring-mvc) y HTML para crear una aplicación que sirva los archivos HTML según lo solicitado. Luego, comience con la idea central de Facebook: Usuarios. Cree un sistema que permita a los usuarios iniciar y cerrar sesión. Cómo hacer eso, use sesiones. ¿Como hacer eso? Google 🙂

A continuación, cree la segunda idea central de Facebook. Relaciones Ahora aquí es donde modelar sería complicado. ¿Es la amistad una relación bidireccional o una relación unidireccional? Una vez que hayas descubierto todas las sutilezas, avanza y lanza.

No estoy tratando de desanimarte aquí, pero hay un bajo riesgo en las personas que atacan tu sitio web desde el primer día. Obtenga su producto correcto.

Con grandes clientes, ¡ven grandes galletas!

Por seguridad, hay algunas vulnerabilidades bien conocidas de las que debes protegerte. Aquí está la mejor lista del mundo [1] para eso. Para cuando haya resuelto los 10, podrá defenderse de la mayoría de los ataques. Más adelante, la mayoría de los ataques son a nivel de red donde su aplicación apenas podrá hacer nada. Para cuando llegues allí, estarás bien informado. 🙂

¡Feliz pirateo! Por cierto, si haces un nuevo facebook, ¡haz que sea sencillo para mi mamá subir fotos! 🙂

¡Aclamaciones!

[1]: Top 10 2013-Top 10

Pensemos en ello de principio a fin.

Primero, necesitas un servidor. Esa es la computadora que guardará su código y lo entregará a los visitantes de su sitio. Hay muchas cosas a considerar aquí. SSL, balanceo de carga, contenedores.

A continuación, necesita una base de datos. Hay un montón de opciones, en su mayoría divididas en SQL y noSQL, dependiendo de la arquitectura de la base de datos. Aquí es donde se almacenarán los datos reales. Piensa cosas como usuarios, perfiles, mensajes, etc.

Probablemente querrás un CDN, al menos para imágenes. A menos que quiera gastar mucho dinero en un servidor robusto, las CDN sirven mejor las imágenes como las imágenes. El S3 de Amazon es un gran ejemplo. Además, servicios como imgix pueden ayudar a servir dinámicamente imágenes.

En el extremo posterior de su servidor, necesitará una forma de interactuar con su base de datos. Esto podría escribirse en una tonelada de idiomas. Algo así como el nodo le permitirá usar javascript en los extremos frontal y posterior. O bien, puede escribir el código del lado del servidor en un idioma, crear puntos finales api e interactuar con el lado del servidor con un idioma completamente diferente. ¡Depende de usted!

En el frente, tendrá su html, css, js, etc. Esta es la capa de presentación para todos los datos y cosas que suceden en el servidor. Este es el código del lado del cliente, y aunque todavía se sirve a sus visitantes desde su servidor, no necesita ser el mismo idioma que el código del lado del servidor.

Entonces, para construir un sitio como fb de principio a fin, necesitarías:

DevOps (configuración, mantenimiento de un servidor, implementación de código)

Back End (configuración de una base de datos y formas de interactuar con la base de datos)

Front End (configuración de una capa de presentación)

Este es realmente un proyecto de pila completa, incluso más allá de eso quizás, debido a los devops. ¡Espero que esto ayude!

SQL (al menos sepa cómo diseñar una base de datos 2NF, piense en hacer una relación entre usuarios, mensajes, amigos, etc.)
Cualquier lenguaje del lado del servidor (PHP, JSP, Node.js, Ruby, Python, etc.)
Conceptos básicos de HTML y CSS (utilice la biblioteca integrada para evitar perder demasiado tiempo en el diseño)

Construí una red educativa (con algunas cosas de redes sociales). Puedes navegar por el código aquí.

codeforgeek / Connectmu

Estimado programador ambicioso,

Parece que eres nuevo en este campo, lleno de mucha energía y fuerza de voluntad. ¡Seguid así!

Facebook y Twitter funcionan con muchos lenguajes de programación. Los comunes son

  1. JavaScript
  2. PHP
  3. C (para fines de fondo)
  4. C ++
  5. Java
  6. Ruby (usado por Twitter)

Estas grandes empresas de tecnología web tienen miles de empleados expertos en estos idiomas, respectivamente. Esto conduce al buen funcionamiento del sitio web.

Si una sola persona continúa aprendiendo todos los idiomas, aún así sería inadecuado construir la plataforma como Facebook o Twitter, porque usan sus propios marcos como Hip hop para PHP.

Puede probarlos todos y luego continuar con lo que más le convenga. Apunta a la luna, si fallas, puedes golpear una estrella.

Recuerde, incluso estos grandes técnicos comenzaron muy pequeños. Sus fundadores ni siquiera sabían todos los idiomas. Pero, ser constante es su clave para el éxito. 🙂

¡Todo lo mejor!

Amey …

Construir un sitio web como Facebook requiere tiempo y paciencia. Necesita conocimiento no solo de los lenguajes del lado del cliente como HTML (marcado para la estructura), CSS (estilo para el diseño) y JS (scripts para la lógica), sino que también necesita una lógica del lado del servidor para agregar soporte de scripting transparente y conexión a una infraestructura de back-end como bases de datos, servicios como pasarelas de pago, pasarelas de SMS, etc. Existe un lenguaje de scripting llamado Hack que se construye como una extensión de PHP. Creo que eso es lo que Facebook actualmente ejecuta. Es posible que también necesite investigar sobre proveedores de la nube para iniciar su aplicación.

En cuanto a la seguridad, debe codificar la aplicación que crea de manera segura. Asegúrese de que no haya lagunas ni vulnerabilidades posibles. Por lo general, las grandes empresas como Facebook mantienen programas de recompensas y premian a los usuarios que encuentran errores graves. ¡Quizás podría adoptar un modelo así si su aplicación ganara mucho dinero! Buena suerte

HTML, CSS, Javascript, PHP, MySQL, WAMP. Estos son los básicos que necesitas aprender. Pero si desea crear un sitio web como Facebook o Twitter, es difícil y difícil crear un software de sitio web tan robusto. Luego, debe aprender muchas otras cosas, como las tecnologías del lado del servidor, el manejo de la base de datos, el marco php, el conocimiento profundo del dominio móvil, las tecnologías de pago, la estrategia publicitaria junto con las estrategias de marketing, etc. También debe conocer el CMS como Word Press o Joomla cómo desarrollan su CMS. En una sola línea, puedo decir que podemos aprender cualquier idioma en particular y desarrollar un software de código abierto, pero preparar Facebook o Twitter es como un mar y una cosa más no es posible solo. Necesitas hacer un equipo, equipo que necesita I + D para desarrollar uno único. Porque sin unicidad, a nadie le gustará tu software.

Curiosamente, acabo de crear una aplicación web que actúa como un dispositivo para compartir imágenes para un proyecto escolar. Utilizamos lo siguiente:


Servicio web:
MySQL: se utiliza para almacenar nuestras imágenes y la información que contienen.

Python: matraz importado. Nuestra aplicación Python actuó como el servicio web que sirve diferentes puntos finales y devuelve JSON. Validación manejada usando Autorización básica HTTP.


Cliente:
HTML / CSS: los lenguajes de programación de la web, decidieron dónde debería ir todo y lo hacen lucir bonito.

JavaScript: Nuestro profesor esperaba que la mayoría de los estudiantes usaran Knockout. No estoy seguro si alguno realmente lo hizo.

AJAX: Lo que solíamos hablar entre el cliente y la aplicación Python.

Aunque estos no son exactamente lo que usan todos los “grandes” reproductores de redes sociales, casi siempre debes comenzar con algo pequeño. Como parece que no sabes qué lenguajes de programación deberías usar, deberías comenzar con pasos pequeños y construir cosas más pequeñas primero.

En la complejidad actual de Facebook, los desarrolladores 1,2,3,4 no pueden construir una plataforma como Facebook compleja, esta es una lista parcial de lo que usan la codificación

  • php
  • mysql
  • apache
  • memcache
  • hiphop para php
  • almiar
  • bigpipe
  • Casandra
  • escriba
  • hadoop
  • ahorro
  • barniz
  • javascript
  • marco de reacción
  • piratear (una versión personalizada de php)

Te recomiendo este articulo

Explorando el software detrás de Facebook, el sitio más grande del mundo – Pingdom Royal

Mi consejo, encuentre un nicho de mercado, una idea única que tenga su propia propuesta de venta única, cree un modelo de negocio para su proyecto, obtenga financiación y luego puede preocuparse por cuántos codificadores expertos necesita y puede contratar para construir el sitio y qué será tu producto mínimo viable

Crear una plataforma de sitio web de redes sociales no es un trabajo fácil, debe conocer muchos conocimientos de programación y debe hacer hincapié en probar su plataforma.

Aquí te recomiendo el favorabe servicio de creador de software , que puede crear cualquier software que desee sin conocimientos de programación de hormigas.

  1. Fácil de usar

El simple clic del mouse y los comandos de arrastrar y soltar crearán el software que desea, no necesita conocer ningún conocimiento profesional de programación.

  1. Extremadamente inteligente y potente

BotCreator no solo puede crear herramientas web automáticas rápidamente, sino que también puede operar automáticamente programas de escritorio. Incluso puede simular personas reales para registrar actividad en su página web.

Recientemente comencé a aprender Meteor, es un framework JS Full stack. En pocas palabras, funciona tanto en el lado del cliente como del servidor.

Este video muestra cómo puede implementar el clon del tablero de mensajes de Face Book. Usando Meteor.

Meteor todavía está evolucionando, todavía no está listo para la producción. También se puede usar meteor junto con AngularJS.

Dado que desea crear aplicaciones web como Twitter y Facebook, debe aprender HTML, CSS (para un diseño atractivo), Javascript (para la interacción) y, obviamente, un lenguaje del lado del servidor como PHP o algo más para las operaciones de back-end. Facebook usa AJAX para una respuesta instantánea sin actualizar la página … así que después de aprender todos estos idiomas mencionados anteriormente, puede centrarse en AJAX …

La mayoría de estos sitios web (como los que usted describe) se pueden hacer en PHP y MYSQL, estos lenguajes se usan actualmente en muchos sitios web interactivos que son de código abierto, algunos en un sistema web existente, por ejemplo: en Joomla! CMS (el mejor en mi opinión) algunos bajo el sistema de blogs WordPress, algunos bajo Drupal (el más flexible, pero el más difícil de usar)
Otros como solitarios, como Dolphin

Todos ellos en PHP MYSQL, todos ellos son de código abierto, por lo tanto, puede ver el código usted mismo de forma gratuita para aprender y ajustar

Estos sitios web también se pueden hacer en otros idiomas, como ASP, pero no encontrará la gran comunidad de código abierto

También se requieren HTML y CSS para que su sistema se muestre en Internet, independientemente del lenguaje de programación que elija (nuevamente, la programación pesada y la administración de la base de datos no se realizarán en ninguno de ellos)

Javascript para algunas funciones que se realizarán en los dispositivos de los visitantes del sitio web, y también para los efectos visuales (también independientemente del idioma para la programación pesada)

Por eso te recomiendo:

HTML CSS PHP MYSQL

Como todos sabemos que Facebook se ha convertido en una de las redes sociales más populares, la necesidad de usarlo ha aumentado.

Como ha estado interesado en crear un sitio de redes sociales impresionante como Facebook, le recomiendo encarecidamente que obtenga la ayuda de @Social Media Web Tutorial, donde brindan un enfoque paso a paso para crear un sitio similar a Facebook desde cero.

Learnsauce = Tutoriales expertos + Código fuente

Espero que seguramente se beneficie de ello.

¡¡Disfruta aprendiendo!!

Pasas tiempo en Facebook a diario, pero ¿alguna vez has pensado en crear tu propio sitio como Facebook? La mayoría de ustedes dirá, “No”, explicando diferentes razones como: no tengo mucho dinero para invertir, no sé programación, bla bla bla …

¿Qué sucede si digo que puede crear su propio sitio de redes sociales como Facebook de forma gratuita y también sin tener ningún lenguaje de programación?

¿Cómo crear tu propio sitio como Facebook gratis? – BuzzyTale