¿Qué habilidades de programación necesito para construir una aplicación SaaS?

Para construir un SaaS basado en la web (por su cuenta), debe poder realizar el desarrollo del lado del servidor (como Python) y el desarrollo del lado del cliente (HTML / CSS con Javascript para la interacción). También debe conocer el diseño y la gestión de bases de datos.

La elección del idioma del lado del servidor no es realmente importante: debe elegir el que le resulte más cómodo. Python tiene Django como su marco web de acceso (y estoy seguro de que hay otros), y es una opción tan buena como cualquiera. Definitivamente, recomendaría Python a alguien que solo está entrando en la programación, ya que la sintaxis limpia y el uso de espacios en blanco se prestan a un código generalmente atractivo (que algunos lenguajes no recomiendan tanto).

Para el lado del cliente, recomendaría aprender Javascript puro y luego elegir un marco que pueda solucionar problemas entre navegadores y otras peculiaridades. jQuery es más o menos el estándar ahora como un marco / biblioteca Javascript de propósito general. A algunos les gusta usar frameworks que hacen levantamientos más pesados ​​como AngularJs, pero recomendaría no seguir esa ruta hasta que esté seguro de que lo necesita (eso sería cuando sienta que su código Javascript se está volviendo demasiado desordenado o difícil de mantener).

Otras habilidades útiles incluirían interfaz de usuario y diseño de experiencia, así como habilidades de diseño visual. Probablemente sería más fácil encontrar a alguien que ya sea bueno en eso, ya que pocas personas pueden dominar los aspectos técnicos y visuales. Sin embargo, es probable que pueda obtener un prototipo por su cuenta, especialmente usando algo como Bootstrap.

La administración del servidor (generalmente Linux) también es útil, si usted fuera el que administrara el servidor. Si bien los servicios de alojamiento como Digital Ocean le brindan muchas opciones preconfiguradas, aún debe poder realizar ajustes de acuerdo con los requisitos de su servicio y poder realizar el mantenimiento cuando las cosas salen mal (y lo harán).

Todas las aplicaciones SaaS requieren desarrollo tanto del lado del servidor como del lado del cliente. El lado del servidor es el núcleo esencial de su aplicación, el lado del cliente es la interfaz de usuario.

Del lado del servidor: Básicamente, tiene 3 opciones de idiomas (si está interesado en usar tecnologías populares de código abierto): PHP, Python y Ruby. Cada uno de estos lenguajes tiene lo que se denomina marcos web, que son bibliotecas de código y metodologías que representan un andamiaje reutilizable común sobre el que se pueden construir aplicaciones web.

Contrariamente a lo que respondió Eran, el lenguaje / marco que elijas es muy importante, porque cualquier proyecto de software no trivial eventualmente evolucionará a algo en el que otras personas se involucren, como colaboradores, contribuyentes, adquirentes, etc., y por lo tanto, quieres el mayor posible comunidad de programadores que “hablan tu idioma”. En ese sentido, el marco más popular es Ruby on Rails, que obviamente usa Ruby. También está muy bien diseñado, tiene una gran cantidad de recursos y bibliotecas de código a las que recurrir, y muchas de las principales aplicaciones web se basan en él. (Un excelente tutorial de inicio es el Tutorial de Ruby on Rails: Aprenda Rails con un ejemplo, y también puede consultar los recursos de inicio en el sitio web de ROR) (CONSEJO DE NOVEDAD: Desactive TurboLinks Coffeescript en sus proyectos de Rails: son tecnologías innecesarias eso hace que sea mucho más difícil de aprender). Si su preferencia es Python, Django es la mejor opción. Por el lado de PHP, Laravel está recibiendo grandes elogios, aunque PHP es un lenguaje poco elegante e inconsistente que es IMO inadecuado para proyectos de cualquier tamaño significativo.

También necesitará saber SQL para consultar bases de datos.

Del lado del cliente : en el lado del cliente, cada desarrollador web necesita saber HTML, CSS y Javascript. También hay marcos para el lado del cliente que hacen su vida exponencialmente más fácil, la más esencial es jQuery, Bootstrap y, para un comportamiento más avanzado, Knockout.

Otro: Finalmente, necesitará aprender a usar Git para administrar su código fuente y obtener una cuenta de Github.com para almacenarlo.

A2A

Esta es en realidad una pregunta bastante grande, así que voy a dividirla en pedazos. La forma más útil de hacer esto es desde atrás:

Almacenamiento de datos:
La elección de la base de datos y el esquema es probablemente la decisión más crítica, porque las migraciones de datos son extremadamente dolorosas una vez que tiene tracción. Porque la base de datos realiza el levantamiento computacional más pesado en el sistema más típico. Y porque la elección de la base de datos incorrecta te va a matar. Comience aprendiendo a trabajar con Postgres . Es gratis, es popular y es bastante simple de operar. Tendrá que ser bastante bueno en el trabajo de la base de datos porque los sistemas SaaS requieren un poco de reflexión en términos de construcción de consultas y esquemas. Específicamente sobre cómo separar inquilinos y consultar eficientemente sus datos.

Servicios :
Esta es probablemente la parte menos riesgosa del sistema, ya que los servicios son solo pegamento. Dicho esto, el diseño y la implementación de su capa de seguridad serán críticos. Un modelo de seguridad bien pensado creará o estropeará un sistema SaaS. Como siempre, mantenga la primera versión más simple de lo que cree que debe ser. Por ejemplo, tienen 3 roles: “Administrador, propietario, usuario” o algún modelo similar casi trivial. Aquí hay muchos antipatrones y formas de dispararte en el pie. Ten cuidado.
En cuanto a la tecnología, para un primer lanzamiento, no importa. Python es probablemente la opción más simple y está bien probada en producción. Su modelo debe confiar en los servicios RESTful .

Interfaz de usuario:
Esta es un área de cambio y dolor masivos y rápidos. Podría arrojarte a React / Redux o Angular / UI-State o algunos marcos masivos similares. Para estos debe ser bastante hábil con JavaScript . También podría mantenerlo hiper-simple y apegarse a jQuery, pero honestamente, si va a construir un SaaS completo, podría hacerlo bien y jQuery es un callejón sin salida, así que vaya con React / Redux .

Otras preocupaciones
Tendrá que aprender a escribir las pruebas adecuadas . Todas las pruebas anteriores tienen marcos de prueba asociados con ellas. Esta es una habilidad propia.
Necesitará un sistema de compilación para limpiar, minimizar, uglificar, compilar, probar, implementar, revertir y administrar el flujo de bits desde su máquina hasta la producción.
Querrá hacer uso de un repositorio de código fuente: github es, por supuesto, la opción obvia aquí.

Hay un poco más que eso. Escribir un producto SaaS probablemente no sea un buen primer proyecto para comenzar, ya que hay una gran cantidad de partes móviles, pero bueno, aprenderás muchísimo en el camino.

SAAS es una plataforma altamente segura para sus datos comerciales. Existen varios lenguajes de programación que puede utilizar para el desarrollo de su aplicación SAAS:

1. PHP : – PHP es un lenguaje de secuencias de comandos incrustado en HTML y es muy fácil de entender. Permite a los desarrolladores web escribir páginas generadas dinámicamente rápidamente.

2. Node.JS : – Node.js utiliza un modelo de E / S sin bloqueo controlado por eventos que lo hace liviano y perfecto para aplicaciones en tiempo real de uso intensivo de datos que se ejecutan en dispositivos distribuidos. Permite que su código de front-end y el código de back-end se escriban en el mismo idioma.

3. Python : es el mejor lenguaje para realizar análisis de datos. Python es bueno para la escritura dinámica, la metaprogramación y la creación rápida de prototipos.

4. Java : Java es el lenguaje de programación más utilizado en el mundo corporativo. Funciona un poco más lento y generalmente requiere más memoria, pero es una excelente opción para una amplia variedad de plataformas.

5. C # : es una excelente opción para las aplicaciones que se desarrollan en entornos de Microsoft.

Si está buscando contratar desarrolladores de SAAS, entonces la solución Suffescom es la adecuada para usted. Es una empresa líder de desarrollo de SAAS que ha entregado una amplia gama de aplicaciones SAAS a diversas industrias. Su proceso de desarrollo incluye diseño, desarrollo, prueba, depuración, integración con otras aplicaciones y mantenimiento continuo.

¡¡Gracias!!

Actualmente estoy escribiendo una aplicación web SaaS. Estoy usando Ruby on Rails, Twitter Bootstrap y Javascript.

Hay otros marcos disponibles, pero elegí RoR debido a la gran caída en las “gemas” que proporcionan una funcionalidad lista para usar.

Por ejemplo, es probable que deba incluir algún tipo de sistema de autenticación, sistema de correo, trabajadores en segundo plano, sistema de pago. RoR tiene una caída en las soluciones para todos estos. Solo tiene que seguir las instrucciones y conectarlas.

Puede que no sea bonito, pero pasar la menor cantidad de tiempo en su idea es ideal. Ver MVP.

Si su idea de SaaS explota, no pasó 6 meses reuniéndolo. Pasa a la siguiente idea o descubre por qué bombardeó y arréglalo.

La iteración más rápida de ideas es primordial en el entorno web actual.

Solo mi consejo gratis.

Si es totalmente nuevo en programación y desea crear su propia aplicación SaaS, se encontrará con una curva de aprendizaje abrupta con muchas tecnologías para aprender. Como lo indicaron Eran y Yarin anteriormente, necesitará un componente del lado del cliente, el material que se ejecuta en el navegador, y que es de facto html / css / javascript. Tendrás que dominarlos.
Para el lado del servidor, puede optar por NodeJS. NodeJS es básicamente JavaScript del lado del servidor, y está recibiendo mucha tracción en estos días. Si usa NodeJS, solo necesitará aprender 1 lenguaje de programación, es decir, javascript, que usará tanto para el lado del cliente como del servidor. Personalmente, creo que Python es más fácil de aprender que javascript, pero de todos modos necesitarás entender javascript para el cliente.

La buena noticia es que, casi independientemente de la pila de tecnología que elija, puede encontrar aplicaciones de inicio (avanzadas) que le brindan una aplicación esquemática para comenzar, que a menudo ya incluye cosas como Twitter Bootstrap, Autenticación, algunas mejores prácticas con respecto al diseño de la aplicación, pruebas, etc.

Recientemente escribí un par de artículos sobre estos temas, no dude en echarles un vistazo:
http://www.nebucom.be/blog/poetr … aborda la pregunta “qué idioma aprender”
La creación rápida de prototipos para aplicaciones SaaS simples a costo cero contiene algunos recursos para aplicaciones de inicio, etc.

Espero que esto ayude,
mella.

Bueno, podrías hacer cosas básicas de SaaS si sabes

  • Javascript, JS angular
  • PHP
  • Pitón
  • Ruby on Rails
  • PostGRE SQL, MongoDB, MySQL, etc.
  • JSON, XML
  • Ya sabes HTML, CSS

Pero si tiene aplicaciones SaaS en las que necesita trabajar y lo toma en serio, entonces probablemente debería contratar a un desarrollador de pila completa que pueda hacer todo lo anterior de una buena manera. Y sí, si no es técnicamente sólido o no es bueno en la programación, entonces es mejor que encuentre un cofundador técnico que idealmente sea una solución o un arquitecto técnico y esté familiarizado con todo lo anterior y quizás también esté familiarizado con la implementación de aplicaciones en AWS o servicios en la nube similares.

SaaS no especifica ninguna tecnología en particular en ningún lado. Por lo tanto, la elección de una buena tecnología depende de la solución que esté creando y, por lo tanto, probablemente necesite un cofundador técnico que lo ayude a superarlo.

-Kash

Conéctese conmigo a través de LinkedIn

¡Felicidades por querer hacer esto!

Tampoco soy programador, pero estoy haciendo exactamente lo mismo al aire libre: compilar una aplicación Saas al documentar y compartir todo al aire libre. (Claritask)

Supongo que la pregunta tiene algunos años, por lo que probablemente ya lo haya hecho. A continuación están mis sugerencias como compañero no programador.

Nota al margen: puede aprender a programar y crear un MVP viable. Para escalarlo, si tiene éxito, necesitará un equipo de desarrolladores competentes. Pero, ese es un buen problema tener.

Dado que conoce algo de HTML / CSS, probablemente conozca un poco sobre la lógica de cómo funcionan las cosas en el back-end. Incluso si no lo haces, aquí están mis sugerencias:

  • Use CodeIgniter o Laravel: Ambos grandes marcos PHP, con Laravel siendo más potente (curva de aprendizaje superior), mientras que CodeIgniter es mucho más fácil de entender y ejecutar desde el primer momento, lo que lo convierte en mi primera sugerencia.
  • Use jQuery para aprender los conceptos básicos sobre cómo manipular su HTML.

Eso es todo al respecto. Olvídate de las últimas tecnologías.

  • Encuentra tu mercado objetivo
  • Construye un gran MVP
  • Comienza a venderlo y aumenta tus ingresos
  • Si logra el éxito, contrate a los desarrolladores adecuados

Únase a foros como IndieHackers y comparta con otros hackers de ideas afines. Además, use Stack Overflow para hacer preguntas y encontrar respuestas mientras aprende a programar.

Puedes verme aprendiendo y compartiendo detalles sobre mi código en mi canal de YouTube.

Además, suscríbete a mi Newsletter en Mailchimp mientras comparto más cosas al aire libre.

No dude en preguntarme cualquier cosa mientras crea su aplicación, incluso si somos competidores con el mismo objetivo:)

More Interesting

¿Qué inicio puedo hacer que tenga éxito (100k + / año)?

Si estuviera creando una empresa, ¿utilizaría una plataforma independiente como 99designs, Designs.net, Fiverr o Freelancer para diseñar su logotipo?

¿Es mejor presentar 3 reclamos de patente por separado, o presentar un reclamo de patente que los incluya a todos? (el dinero no es problema)

Estamos al borde de un lanzamiento anticipado de nuestro producto empresarial. ¿Qué debemos pedir a cambio de los clientes para ingresar a un programa de acceso temprano?

¿Qué haces si descubres que tu idea de inicio ya existe y que la empresa está funcionando muy bien? ¿Debería estar mejor haciendo otra cosa?

Para una persona que acaba de comenzar a aprender C, ¿cuáles deberían ser los próximos pasos para finalmente comenzar a aprender programación de juegos?

¿Qué necesitan las startups Fintech de VCs?

¿Cómo se forma una empresa conjunta con corporaciones? ¿Cómo debo presentarles la oferta?

¿Hay hackers de crecimiento que trabajan por horas? ¿Cómo los encontraría?

¿Cuáles son los mejores trucos de crecimiento para startups B2B?

¿Qué es una estrategia de nube rentable para un lanzamiento beta privado?

¿Puede una startup contratar a un titular actual de H1B con salario cero y equidad decente?

¿Cómo encuentran las startups el equilibrio entre proyecto y producto?

¿Cuáles son los requisitos legales para comenzar un sitio web clasificado en la India?

¿Cómo haría para crear una especialización personalizada para estudiar las dimensiones y el hiperespacio?