articles utiles

Comment créer une application Web à partir de zéro sans expérience

J'ai pris un (mauvais) cours d'informatique au collège et je ne suis pas un développeur Web. Ainsi, au début de 2008, lorsque j'ai décidé de créer un site Web sur lequel je fantasmais depuis des années, je partais de zéro.

Le site que je rêvais de créer est finalement devenu MixTape.me, un lecteur de musique basé sur le Web où les utilisateurs peuvent rapidement créer et partager des listes de lecture avec des amis (voir la vidéo ci-dessus). Ce billet ne traite pas de la qualité de MixTape.me (je l'aime, mais ce n'est probablement pas la prochaine grande chose), ni d'un guide de type pilule magique pour faire de vos rêves une réalité. Il s'agit davantage de créer quelque chose que vous aimez pendant votre temps libre, même si cela signifie que vous devrez - * haleter * - travailler pour cela. C'est aussi juste mon expérience. Votre kilométrage et votre chemin préféré peuvent varier. Alors, commençons.

1. Vous avez besoin d'un objectif et d'une bonne idée

En fait, plutôt que simplement une bonne idée, ce dont vous avez besoin, c’est d’une idée qui vous passionne. (Je suppose que vous ne serez pas passionné par une idée.) Pour ma part, aucune des solutions en ligne permettant de créer et de partager des listes de lecture en ligne ne me plaisait. En outre, j'avais en tête l'image d'une personne dans ma tête. avec. J'étais vraiment enthousiasmé par cette idée, alors passer du temps à apprendre, à faire des recherches et à travailler dessus pendant mon temps libre était presque toujours amusant, même lorsque je me cognais la tête contre le mur pour essayer de comprendre pourquoi quelque chose n'allait pas. travail.

J'avais voulu construire MixTape.me il y a quelques années, et j'ai même commencé plusieurs fois mais je me suis essoufflé. (Ce ne sera pas toujours facile d’équilibrer un travail à temps plein avec un projet parallèle, peu importe à quel point vous êtes enthousiasmé.) En janvier 2008, commencer et terminer le site Web était mon principal objectif à long terme pour le. Pas pour le mois. Pas pour les six premiers mois. Pour l'année. Je savais que cela prendrait beaucoup de temps et je me suis donné beaucoup de temps. (Fixer un objectif un an à l’avance est une tâche sérieuse, mais si c’est un objectif auquel vous devez constamment travailler au cours d’une année entière, il est très gratifiant d’atteindre cet objectif à la fin.)

2. mis à part quelque temps

Ce n'est pas sorcier; si vous ne mettez pas de temps à consacrer à votre projet, vous ne réussirez jamais à rien. Plutôt que d’attendre que du temps libre s’affiche, planifiez du temps dans votre semaine où vous savez que vous pouvez consacrer du temps à votre projet. Si vous disposez de plus de temps libre, c'est bien, prenez-le et utilisez-le pour progresser un peu plus cette semaine. Assurez-vous simplement de réserver un minimum de temps pour votre projet chaque semaine.

3. Identifier les outils pour le travail

Une fois que je me suis finalement engagé à atteindre cet objectif, je devais choisir les outils pour le poste. Je ne suis ni programmeur ni développeur Web, et je n'avais jamais construit de site Web auparavant. Cependant, j’avais lu beaucoup de rumeurs au sujet d’un framework de développement Web appelé Ruby on Rails au cours des quelques années précédentes, j’avais lu quelques tutoriels pour débutants et pensais que c’était un aussi bon point de départ.

Je savais que le site nécessiterait beaucoup de JavaScript sophistiqué et AJAX. J'ai donc décidé de m'en tenir à la bibliothèque par défaut de Rails, une bibliothèque JavaScript appelée Prototype. Si je choisissais de nouveau, je choisirais probablement jQuery, un logiciel beaucoup plus activement développé, créé par le brillant gourou de JavaScript, John Resig, mais Prototype (associé à la bibliothèque d'effets Script.aculo.us) est un choix judicieux.

Clique pour voir

Enfin, je savais que pour diffuser des fichiers MP3, j'avais besoin d'une sorte de lecteur Flash intégré (voir Lecteur intégré ci-dessus, par exemple) et, bien entendu, de choisir les outils Adobe pour ce travail (plus précisément Adobe Flex).

Vous aurez inévitablement besoin de choisir encore plus d'outils à mesure que vous avancez dans le processus, mais vous n'avez pas besoin de les connaître tous dès le départ. Tout ce que je savais, c'est que j'aurais besoin d'un bon framework de développement Web, d'une solide bibliothèque JavaScript et d'un lecteur Flash capable de lire les fichiers MP3 en streaming - voilà donc les outils avec lesquels j'ai commencé.

4. Commencez à faire des erreurs

Il n'a pas fallu longtemps pour reconnaître que l'aspect du développement Web allait être la partie la plus importante de l'équation (je construisais un site Web, après tout), alors j'ai commencé par regarder quelques tutoriels Rails et construire quelques exemples d'applications. . J'ai fait beaucoup d'erreurs, beaucoup de recherches sur Google et beaucoup appris au cours du processus. Pour moi, faire des erreurs et trouver des solutions (normalement avec Google) était une partie importante du processus d'apprentissage.

5. Obtenez des livres

Après avoir compris quelques notions de base, j'ai compris qu'il était temps d'acheter de bons livres et de commencer sérieusement à apprendre. J'ai acheté pour l'édification de Rails, bien que maintenant je recommanderais probablement le plus récent. (Ces livres vont toujours être périmés avec le temps.) Ensuite, j'ai lu / parcouru le livre, du début à la fin, en faisant de mon mieux pour mieux comprendre le cadre dans son ensemble.

Ce faisant, j'ai prêté une attention particulière à tout ce qui paraissait particulièrement significatif pour le site que j'espérais construire et j'ai pris quelques notes. Cependant, ne perdez pas trop de temps à examiner chaque détail de ces livres. Vous n'apprendrez jamais tout simplement en lisant. Obtenez les idées de base et commencez à les appliquer dès que vous le pouvez.

Les étapes quatre et cinq, telles que répertoriées ici, sont relativement interchangeables selon votre style. J'ai commencé par faire des erreurs jusqu'à ce que je sache ce qui se passait, puis je suis allé aux livres.

6. Tenez-vous sur les épaules des géants

Une fois que vous avez terminé vos premières études, il est temps de reconnaître et d’apprécier ce qui se passe réellement ici: vous vous tenez aux épaules d’innombrables personnes excellentes qui vous ont précédé. Dans mon cas, Rails est un framework de développement web open-source construit à la sueur de nombreux développeurs dédiés. De même, le framework JavaScript de Prototype était open source et construit par un groupe de personnes assez aimable pour me laisser, novice inexpérimenté, tirer parti de tout leur dur travail. En un mot, j'aurais pu terminer ce projet en un an, si ce n'était pour toutes ces personnes généreuses. Flash est vraiment le seul outil propriétaire de ma boîte à outils, et c’était une fatalité (bien que HTML 5 puisse éventuellement rendre le lecteur Flash inutile).

.

Outre les principaux acteurs, vous profiterez également du travail d'innombrables autres sous la forme de plug-ins, de tutoriels et même de forums fournis par la communauté. Vous constaterez rapidement, lorsque vous construirez à partir de rien, que Google deviendra votre nouveau meilleur partenaire de recherche, non pas parce que Google est si intelligent, mais encore une fois, parce que tant de personnes intelligentes et magnanimes ont été là avant vous et étaient disposées à partager ce trouvé pour ne pas commettre les mêmes erreurs.

Vous continuerez à le faire pendant tout le cycle de vie de votre travail, qu'il s'agisse de coder votre application ou d'apprendre à construire et déployer un serveur à partir de rien. (Vous n'avez pas nécessairement besoin de créer et de déployer un serveur à partir de rien, mais vous êtes ici pour apprendre, non?) Vous allez travailler sur une fonctionnalité, rencontrer un problème et le résoudre à l'aide d'Internet. . Rincez, répétez. C'est une belle chose.

Finalement, après des heures et des heures et des semaines et des semaines, vous aurez enfin quelque chose à lancer. Cela ne vous prendra peut-être pas un an —MixTape.me a peut-être été un peu ambitieux pour un projet parallèle — mais peu importe le temps que cela prend, si vous avez ménagé du temps et que vous l'avez réglé méthodiquement, à terme, Sois prêt à libérer quelque chose au monde. Votre propre petit bébé Web. Soit fier!

7. profit

C’est là que j'aimerais vous dire que vous ferez instantanément des millions de dollars avec votre excellente idée. Je ne peux pas, bien sûr, parce que ce n'est pas nécessairement le résultat. Mon objectif depuis le début avec MixTape.me était d’en faire assez pour qu’il puisse se payer.

Lorsque je l'ai lancé, je n'avais aucune annonce - je n'avais que des liens de parrainage pour acheter des MP3 sur Amazon, qui ont très peu progressé depuis le lancement du site. Cependant, j'ai récemment ajouté des annonces Google AdSense sur le site. Depuis le mois dernier, le site est officiellement rentabilisé, ce dont je suis très fier.

Mais voici la partie où je vais tous M. Night Shyamalan sur vos culs: Vous avez bénéficié depuis le début! (Je sais, ringard, non?) Au cours de la création de quelque chose à partir de zéro, vous avez appris une tonne de nouvelles choses, acquis de nouvelles compétences, exercé votre esprit, noué des liens avec d'autres les gens, et espérons-le sortir avec quelque chose dont vous pouvez être fier. Vous pouvez le montrer au monde et dire: "Hé, j'ai fait ça." Et faire des choses est une bonne chose.

Quoi d'autre est là?

Je travaille toujours pour que MixTape.me soit exactement le site que j'ai envisagé dès le départ. C'est un long processus, beaucoup de travail et quelque chose que je fais toujours dans mes temps libres chaque fois que je peux. Un projet comme celui-ci n’est jamais complètement achevé et chaque fois que vous avez une nouvelle idée, vous pouvez construire, détruire ou modifier ce que vous avez fait auparavant, en créant continuellement de nouvelles et excitantes façons de fléchir votre esprit et vos capacités. (Je suis impatient de créer des applications mobiles, par exemple, et envisage d'utiliser PhoneGap pour cela, mais le cadre ne semble pas tout à fait prêt pour le streaming de fichiers MP3 sur Internet. Mais je suis impatient et j'espère qu'après avoir fini un iPhone Je ne suis pas victime d'une mauvaise pomme.)

Je ne pense absolument pas que tout cela me rend unique, et je sais qu'il y a des tas de gens beaucoup plus talentueux que moi dans ce genre de choses, alors si vous avez déjà tenté une telle entreprise, voyons comment vous l'avez attaqué, comment vous avez appris quelque chose de tout à fait nouveau et comment cela s'est avéré pour vous dans les commentaires.