¿Qué habilidades necesito para construir un sitio web como Pinterest?

Preocúpese menos por las habilidades necesarias para construir uno y preocúpese más por los requisitos de hardware y la cantidad de visitantes que tendrá, además de cómo se beneficiará de su sitio. Bueno, no se requieren ganancias, pero sería bueno si obtiene algo de su sitio, ya que los gastos pueden ser un poco altos.

Su primer desafío será decidir cuántos visitantes tendrá y cómo utilizarán su sitio. Pinterest tiene millones de visitantes todos los días y admiten tanto un sitio web como una API web que utilizan su propia aplicación Pinterest y algunas aplicaciones de terceros. (Facebook hace lo mismo). Saber cuántos visitantes esperar es importante, ya que determina cuánto ancho de banda necesitará y qué tan poderoso debe ser su proveedor de alojamiento web.

A continuación, tendrá que determinar dónde alojará su proyecto. Si esta es la computadora de su hogar, deberá mantenerla en funcionamiento las 24 horas del día, los 7 días de la semana, para mantener vivo el sitio todo el tiempo. Eso sería un poco desafiante. También necesitaría un nombre de dominio para que las personas puedan acceder a su sitio y, si está alojado en su hogar, deberá configurar su enrutador para permitir que las solicitudes entrantes vayan directamente a la computadora de su hogar. Es la solución menos costosa, pero necesitará saber mucho sobre cómo administrar su propio servidor.

Es más fácil cuando puede usar un servicio alojado en algún lugar, lo que significa que buscará empresas de alojamiento web que ofrezcan alojamiento hecho para sus necesidades. Preferiblemente, algo con una nube, ya que eso facilitaría la expansión de su sitio para servir a más visitantes, por lo que probablemente terminará con Amazon AWS, Google Pages, Microsoft Azure, RackSpace, GoDaddy o algún otro gran proveedor de la nube. (¡Compáralos aquí!)

Probablemente necesitará una base de datos al lado de su sitio, ya que almacenará todo tipo de datos. Por lo tanto, su host deberá proporcionarle una base de datos y deberá saber cómo diseñar un modelo de datos y administrar esta base de datos. Como la velocidad es importante para los sitios web, debe saber cómo normalizar la estructura de su base de datos de manera que sea lo más rápida posible. Esto probablemente significa que también necesita saber sobre el almacenamiento en caché y cómo usar un caché para acelerar el rendimiento de la base de datos.

Como es probable que tenga algunos datos sensibles a la privacidad en su sitio, es posible que deba cumplir con la ley de cookies europea si se concentra en Europa. Otros países también pueden tener leyes específicas sobre el almacenamiento de datos sensibles a la privacidad. Y sí, incluso solo un nombre se considera información privada en Europa. Estados Unidos es menos estricto a este respecto, pero necesita saber de dónde será su audiencia. Por lo tanto, deberá conocer las leyes de cualquier país donde desee operar. Si solo te enfocas en los Estados Unidos, entonces eso no es mucho. Si incluyes a Rusia, entonces las cosas se vuelven complejas. ¿China? Aún más complejo. ¿Corea del Norte? Casi imposible …

Estos datos privados también deben estar bien protegidos. El almacenamiento de nombres de usuario y contraseñas en texto plano probablemente podría ocasionar daños de millones de dólares que terminará pagando si un pirata informático obtiene acceso a sus datos. Bueno, probablemente menos, pero aún sentirás el dolor en tu billetera durante años después.

Luego, tenga en cuenta que las personas pueden publicar trabajos con derechos de autor en su sitio, por lo que deberá conocer sus contramedidas legales para protegerlo contra cualquier reclamo de derechos de autor, ya que realmente pueden dañar su billetera. Necesita saber acerca de la DMCA y debe darse cuenta de que el “uso justo” generalmente se aplica solo a los EE. UU. Otros países aún pueden reclamar grandes cantidades por violaciones de derechos de autor, incluso si su uso se considera un uso justo. Probablemente necesitará algún consejo legal sobre todo esto y los riesgos que pueda tener.

¿Y pensabas que HTML / CSS y cualquier lenguaje de programación (C # / ASP . NET, PHP, Python, Ruby on Rails, ColdFusion, C, etc.) serían suficientes? Mhuahahaha! Esa es en realidad solo la parte fácil. Desafortunadamente, muchas personas simplemente se centran en esta parte fácil y se olvidan del resto. Bueno, eso es hasta que tengan problemas legales …

Necesitas un programador que sepa cómo hacer aplicaciones web 😉

He creado aplicaciones similares a Pinterest usando Sinatra (un marco de Ruby) y MongoDB (una base de datos que puede almacenar contenido con atributos flexibles o cambiantes). Además javascript (jquery / isotope) css y html.

También necesitará conocer las API de redes sociales estándar, pero esto es principalmente una cuestión de manipulación de datos de Javascript.

Si la tecnología no hace ninguna diferencia para usted (y dado que suena como un socio no técnico, no debería) su desarrollador podría construir esta aplicación en casi cualquier pila de tecnología web común. Un desarrollador experimentado puede ver los requisitos y elegir la pila de tecnología adecuada para el trabajo.

Para mantener a todos contentos y en la misma página, solo sea lo más específico posible sobre qué tipo de experiencia de usuario y funcionalidad necesita (y cuál es la motivación comercial para esta funcionalidad) y deje que los desarrolladores se adhieran a los requisitos tecnológicos.