užitečné články

Jak vytvořit webovou aplikaci od nuly bez zkušeností

Vzal jsem jednu (špatnou) třídu informatiky na vysokou školu a nejsem webový vývojář. Takže na začátku roku 2008, když jsem se rozhodl, že budu konečně stavět webovou stránku, o které jsem roky snil, začal jsem od nuly.

Web, o kterém jsem snil, se nakonec stal MixTape.me, webovým hudebním přehrávačem, kde uživatelé mohou rychle vytvářet a sdílet seznamy skladeb s přáteli (viz video výše). Tento příspěvek není o tom, jak skvělý MixTape.me je (miluji to, ale nejspíš to není Next Big Thing), ani to není hadovitý mastný průvodce magickým pilulkem, jak splnit své sny. Je to více o tom, jak si vyrobit něco, co máte rádi ve svém volném čase, i když to znamená, že pro něj budete muset - * lapat po dechu * -. Je to také jen moje zkušenost. Vaše ujeté kilometry a preferovaná cesta se mohou lišit. Tak pojďme začít.

1. Potřebujete cíl a dobrý nápad

Ve skutečnosti, spíše než jen dobrý nápad, to, co opravdu potřebujete, je nápad, který jste vášnivý. (Pravděpodobně nebudete nadšeni nápadem.) Z mé strany jsem nebyl spokojen s žádným z online řešení pro vytváření a sdílení seznamů skladeb online a měl jsem v hlavě obraz jednoho, že jsem byl zamilovaný s. Byl jsem z toho nápadu opravdu nadšený, takže trávení času učením, zkoumáním a prací na něm ve svém volném čase bylo téměř vždy hodně zábavné - i když jsem bouchl hlavou o zeď a snažil se přijít na to, proč něco nebylo pracovní.

Chtěl jsem postavit MixTape.me před lety a dokonce jsem začal párkrát, ale došel mi pára. (Nebude to vždy snadné vyvažovat práci na plný úvazek s vedlejším projektem, bez ohledu na to, jak jste nadšeni.) Do ledna 2008 bylo spuštění a dokončení webové stránky mým dlouhodobým cílem číslo jedna. Ne za měsíc. Ne prvních šest měsíců. Pro rok. Věděl jsem, že to bude trvat hodně času, a dal jsem si spoustu času. (Stanovení cíle o rok předem je seriózní věc, ale pokud je to cíl, na kterém se trvale snažíte celý rok, dosažení tohoto cíle do konce je vážně prospěšné.)

2. Odložte čas

Není to raketová věda; pokud si nestihnete čas na řešení vašeho projektu, nikdy se nic nedělá. Spíše než čekat, až se objeví volný čas, naplánujte si čas do týdne, kde víte, že můžete věnovat nějaký čas vašemu projektu. Pokud se vynoří více volného času, je to skvělé - vezměte si to a využijte jej k tomu, abyste toho týdne udělali trochu větší pokrok. Jen se ujistěte, že jste každý týden vyčlenili pro svůj projekt minimální dobu.

3. Určete nástroje pro úlohu

Jakmile jsem se konečně zavázal k tomuto cíli, musel jsem si vybrat nástroje pro tuto práci. Nejsem programátorem ani vývojářem webových stránek a nikdy jsem webové stránky nikdy nevytvořil. Během posledních několika let jsem však četl spoustu hlášek o rámci pro vývoj webových aplikací zvaném Ruby on Rails, přečetl jsem si několik tutoriálů pro začátečníky a domníval se, že to je stejně dobrý výchozí bod jako jakýkoli jiný.

Věděl jsem, že web bude vyžadovat hodně efektivního JavaScriptu a AJAX, a proto jsem se rozhodl držet výchozího nastavení Rails, knihovny Java s názvem Prototype. Kdybych se rozhodl znovu, pravděpodobně bych šel s mnohem aktivněji vyvinutým jQuery, vytvořeným geniálním guruem Java Resigem, ale Prototype (spojený s knihovnou efektů Script.aculo.us) je skvělá volba.

Klikněte pro zobrazení

Nakonec jsem věděl, že pro streamování MP3 potřebuji nějaký druh vestavěného přehrávače Flash - viz například vložený přehrávač výše - a samozřejmě jsem pro tuto úlohu vybral nástroje Adobe (konkrétně Adobe Flex).

Budete muset nevyhnutelně vybrat ještě více nástrojů, čím více se dostanete do procesu něčeho takového, ale nemusíte je všechny znát z netopýra. Věděl jsem jen, že budu potřebovat dobrý rámec pro vývoj webových aplikací, solidní knihovnu JavaScriptu a přehrávač Flash, který dokáže přehrávat streamované MP3 - takže to byly nástroje, které jsem začal.

4. Začněte dělat chyby

Netrvalo dlouho, než jsem poznal, že aspekt vývoje webu bude nejdůležitější součástí rovnice (konec konců jsem stavěl webovou stránku), tak jsem začal zkoumáním některých výukových programů Rails a vytvářením ukázkových aplikací. . Udělal jsem spoustu chyb, udělal jsem spoustu googlingů a během procesu jsem se toho hodně naučil. Pro mě bylo vytváření chyb a hledání řešení (obvykle pomocí Google) obrovskou součástí procesu učení.

5. Získejte nějaké knihy

Poté, co jsem přišel na některé základy, zjistil jsem, že je čas koupit nějaké řádné knihy a brát vážně učení. Pro své Railsovy edice jsem si koupil, ale teď bych pravděpodobně doporučil novější. (Tyto knihy vždy vycházejí zastaralé v čase.) Pak jsem knihu přečetl / skimuloval, začal dokončovat a snažil se lépe porozumět rámci jako celku.

Zatímco jsem to dělal, věnoval jsem velkou pozornost všemu, co se zdálo zvláště významné pro web, který jsem doufal, že buduji, a vzal několik poznámek. Neztrácejte však příliš mnoho času porézním nad každým detailem těchto knih. To se nikdy nenaučíte jen čtením. Získejte základní myšlenky a začněte je používat co nejdříve.

Kroky čtyři a pět, jak jsem je zde uvedl, jsou relativně zaměnitelné v závislosti na vašem stylu. Začal jsem dělat chyby, dokud jsem netušil, co se děje, a pak jsem šel do knih.

6. Postavte se na ramena obrů

Jakmile dokončíte své zběsilé vzdělání, je čas poznat a ocenit, co se tady opravdu děje: Stojíte na bedrech nespočetných vynikajících lidí, kteří odešli před vámi. V mém případě je Rails open-source webový vývojový rámec vytvořený potem mnoha oddaných vývojářů. Rámec prototypu JavaScriptu byl rovněž otevřeným zdrojem a byl postaven spoustou lidí tak laskavých, aby mi umožnil, nezkušený nováček využít veškerou svou tvrdou práci. Stručně řečeno, byl bych schopen tento projekt dokončit v ročním volném čase, ne-li pro všechny tyto velkorysé lidi. Flash je opravdu jediný proprietární nástroj v mé sadě nástrojů a byl to druh nevyhnutelnosti (i když HTML 5 by nakonec Flash player mohl zbytečně).

.

Kromě hlavních hráčů však využijete i práci nespočetných dalších ve formě komunitních doplňků, výukových programů a dokonce i fór. Rychle zjistíte, že když něco stavíte od nuly, Google se stane vaším novým nejlepším výzkumným kámošem - ne proto, že Google je tak chytrý, ale znovu, protože tolik chytrých a velkorysých lidí tam bylo před vámi a bylo ochotno sdílet to, co oni nalezeno, takže neděláte stejné chyby.

V tom budete pokračovat po celou dobu své práce, ať už kódujete svou aplikaci nebo se dozvíte, jak sestavit a nasadit server od nuly. (Nemusíte nutně stavět a nasazovat server od nuly, ale jste tu, abyste se učili, že?) Budete pracovat na prvku, narazíte na problém a problém vyřešíte pomocí internetu . Opláchněte, opakujte. Je to krásná věc.

Nakonec, po hodinách, hodinách, týdnech a týdnech, konečně budete mít co vypustit. Možná vám to nebude trvat rok - MixTape.me možná byl trochu na ambiciózní straně vedlejšího projektu - ale bez ohledu na to, jak dlouho to trvá, pokud jste si vyhradili čas a metodicky se k němu připojili, nakonec Budu připraven něco uvolnit světu. Vaše vlastní malé webové dítě. Být hrdý!

7. Zisk

Na tomto místě bych vám rád řekl, že z vašeho skvělého nápadu okamžitě vyděláte miliony. Nemůžu, samozřejmě, protože to nemusí být nutně výsledek. Mým cílem od začátku na MixTape.me bylo vydělat z toho natolik, že by to zaplatilo za sebe.

Když jsem jej spustil, neměl jsem žádné reklamy - pouze odkazy na doporučení ke koupi MP3 na Amazonu, které od uvedení webu na trh udělaly jen velmi málo. Nedávno jsem však na web přidal několik reklam Google AdSense a od minulého měsíce se za něj oficiálně platí - něco, na co jsem velmi hrdý.

Ale tady je ta část, kam chodím na všechny zadky M. Night Shyamalan: Z začátku těžíš! (Já vím, banální, že?) V průběhu budování něčeho od nuly jste se naučili metrickou mozkovou tunu nových věcí, získali spoustu nových dovedností, uplatnili svou mysl, navázali spojení s jinými podobně smýšlejícími lidí, a doufejme, že vyjdou s něčím, na co můžete být pyšní. Můžete to ukázat světu a říct: „Hej, udělal jsem to.“ A dělat věci je dobrá věc.

Co je tam dalšího?

Stále se snažím vytvořit MixTape.me přesně na místě, které jsem si představil od začátku. Je to dlouhý proces, spousta práce a něco, co stále dělám ve svém volném čase, kdykoli mohu. Projekt, jako je tento, není nikdy zcela dokončen a pokaždé, když získáte nový nápad, můžete vytvořit, zničit nebo změnit to, co jste udělali dříve, neustále vytvářet nové a vzrušující způsoby, jak ohýbat svou mysl a schopnosti. (Chci například vyrábět mobilní aplikace a na to se dívám pomocí PhoneGap, ale rámec se nezdá být docela připraven pro streamování MP3 přes internet. Ale já jsem dychtivý a doufám, že až dokončím iPhone aplikace Nejsem obětí špatného Apple.)

V žádném případě si nemyslím, že celá tato věc mě dělá jedinečnou, a vím, že tam jsou spousty lidí, kteří jsou mnohem talentovanější než já, na takovou věc, takže pokud jste se někdy snažili podobný podnik, pojďme se dozvědět, jak zaútočili jste na to, jak jste se učili něco zcela nového a jak se vám to v komentářích ukázalo.