[Powered by Google Translate] [Seminář] [Web Development: od nápadu k realizaci]
[Ben Kuhn] [Billy Janitsch] [Harvard University]
[To je CS50] [CS50.TV]
[Billy] Ahoj, já jsem Billy a tohle je Ben. >> [Ben] Ahoj.
Budeme se dnes mluví o vývoj webových aplikací.
[Webdev] [Billy Janitsch a Ben Kuhn]
Něco o nás jako první.
Ben je něco jako back-end chlap. On dělá věci fungují.
A pak jsem se jít a dělat je dost.
Jsem z velké části podílí se více front-end návrhu rozvržení druh věcí,
a Ben, na druhé straně, ví, co dělá, takže se pracuje na back-end věci.
Společně jsme udělali pár věcí.
Například v loňském roce jsme pracovali na Gimblium, který je on-line hra vývoj studio.
To byl náš konečný projekt pro třídu,
a od té doby jsme udělali Harvard Class
což je on-line rámec pro prohlížení a nakupování kurzy na Harvardu.
>> Chystáme se začít s tímto nápadem na našich webových stránkách.
Chystáme se dělat Facebook, ale pro kočky.
Předtím, než jste vlastně tuto webovou stránku,
nedělají tento web, protože to není dobré, ale budeme jej použít jako rámec
a projít procesem, jak jsme se tuto myšlenku
a proměnit ji v reálném stránkách můžeme použít.
Začneme tím, že rozbije webové stránky dolů.
Stejně jako jsi dělal v CS50,
Chcete-li přemýšlet o tom, jaké jsou skutečné komponenty, které jdou do těchto stránek.
V podstatě to odbočka z nápadu, který je jen trochu abstraktní pojem
do skutečné, hmatatelné věci, které byste mohli dělat.
Začneme tím, že žádá několik otázek.
Co je to za web? Proč jsme to dělat?
Co je to chystá použít? Takové věci.
V případě Facebooku Cat,
jsme v podstatě chceme webové stránky, které vám umožní kočky sociální sítě navzájem.
Myšlenka je, že se mohou zakládat na vzájemně stěn,
mohou vznést připomínky, takové věci.
A to je místo, kde se dostáváme do funkčních komponent.
Nyní máme tento druh rámce - máme uživatelských profilů,
máme připomínky, a můžeme psát.
Možná, že jednoho dne budeme přítoku rád a takové věci.
A jsme trochu chtít upřednostnit tyto funkce jdou dovnitř
Chceme říci, jako, jo, je to opravdu důležité, že každý má profil
a že každý může zakládat na vzájemně stěn.
Sekundární se, že komentáře by bylo hezké.
Možná, že později budeme přítoku líbí.
Takže, chcete mít představu o tom, co je základem projektu
a to, co je trochu obecnější funkce, které by mohly být použity později.
Chcete-li druh má konkrétní seznam v paměti,
ale projekt, který začíná se nebude projekt, který dokončíte.
Jinými slovy, všechno se změní, když vyvíjíte stránky,
a chcete ponechat prostor pro to.
Zapnu ji Benovi, který se chystá mluvit trochu o struktuře.
>> [Ben] Budu mluvit o více technické části vývoj webových aplikací.
Pojďme prostě jít přes některé základy první.
Když děláte webovou aplikaci,
hlavní divize, které budete mít, je
budete mít nějaké věci se děje ve straně klienta -
to znamená, že kód, který jste prohlížeč má z webu
a JavaScript, HTML, CSS věci.
To je vše, na straně klienta.
Budeš mít jiný kód, který běží na straně serveru
která udržuje všechny údaje, které lidé poslat k tobě,
rozhodne, kdo se dát co, takové věci.
To je jen některé terminologie, takže vy jste všichni obeznámeni s tím, co mluvíme.
Za tímto rozdělením je dobré myslet na své webové aplikace, pokud jde o
několik různých komponent.
Když děláte vývoj webových aplikací
jedna z věcí, které byste měli vždy se snaží udělat, je snížit složitost.
Čím složitější je váš kód je větší šance je dělat chyby,
těžší je později změnit.
Takže, pokud můžete rozbít své aplikace do několika různých funkčních oblastí
že bude - a můžete snížit druh množství cross-area komunikaci -
které vám pomůže hodně v dlouhodobém horizontu, pokud jde o snížení chyby.
>> Chcete-li být konkrétní, většinou lidi rozdělit do webové aplikace do -
Jedná se o druh slůvky teď, ale jsou stále užitečné.
Možná jste již slyšeli lidi mluvit o modely, pohledy a regulátory.
Modely jsou skutečné údaje, že vaše aplikace bude zabývat.
Například, v Cat Facebook, vaše modely by mohl být -
budeš mít model, jako místa, a model pro uživatelské profily, tak podobně.
Vaše názory jsou, jak se prezentujete, že data pro své uživatele.
Můžete mít jeden pohled na při pohledu na jednoho příspěvku a všechny komentáře
a jiný pohled na zeď, která obsahuje seznam všech míst
které jsou zaměřeny na vás, a jiný pohled na vaši novinek - a tak podobně.
Nakonec, máte ovladače, které jsou v podstatě, když vám lidé posílat příspěvky
a uděláte aktualizace back-end systému,
můžete zvýšit spoustu čítače, a cokoliv.
To jsou vaše regulátory.
>> Budu mluvit hlavně o modely.
Pohledy jsou technicky není tak těžké, a problém je s jejich navrhování
Regulátory se bude specifické pro co jste navrhování.
Ale tam jsou některé docela obecné techniky, které můžete použít
aby se vaše modely hezčí a jednodušší práci s tím si myslím, jsou velmi užitečné.
Toto je většinou bude o tom, jak se vypořádat s vaší webové aplikace dat v příjemném způsobem.
Hlavními problémy s modely
je, že žijí na klientem a serverem a vy budete muset přijít na to,
), jak je dostat - všechny relevantní ty - ze serveru na klienta,
a b) jak se udržet je v synchronizaci.
Vaši uživatelé budou chtít, aby se některé aktualizace.
Chystají se chcete provést nové příspěvky.
Chystají se chtějí líbit věci, a tak, pokud máte rád.
To jsou hlavní technické problémy nakládání s modely.
První věc, kterou budete chtít se ptát sami sebe, je
jaký druh dat jde v tomto modelu a jaké dotazy se budeme chtít udělat -
to znamená, že jak se budeme dívat na modely?
Pro Vaše kočka Facebook Například,
Váš příspěvek bude mít autor s ním spojené,
některé stěny po textu, a příjemce stěny poštou.
A pak budete chtít dotaz, že v spoustu různých způsobů.
Budete chtít, aby se na něj, který napsal jaký příspěvek,
podle toho, kdo přijal, které učiníte, možná podle data, kdy byly zveřejněny.
Ale pokud se chystáte dělat to podle data, pak se budete muset přidat další pole do svého příspěvku
kdy to bylo skutečně vyslán.
Tyto dva faktory - jaká data chcete použít, a jak chcete zobrazit -
měli byste uvažovat o nich jako první, protože jsou závislé na sebe navzájem,
a to bude mnohem obtížnější je přidat později.
>> Tam jsou některé další aspekty.
Když uvažujete o tom, jak se vypořádat s modely na serveru
to, co budete chtít podívat na je -
jste v podstatě chcete, aby server tak jednoduché, jak je to možné.
Dělat věci na straně klienta je obecně mnohem rychlejší, pokud můžete to udělat čistě na klientovi
aniž by nějaký druh požadavku sítě.
Cílem je, aby to tolik dotazů, jak můžete na straně klienta.
Jediným problémem, který
je, že pokud budete požadovat všechny vaše data na začátku
pak, že to bude trvat dlouho, aby zatížení.
Takže myšlenka je najít zlatá střední cesta mezi tím dostatek dat na straně klienta
že můžete dělat většinu práce tam, ale nejen načítání vše najednou
tak, že dostanete opravdu pomalé zatížení časy na začátku.
Například, pro vaše kočky dat
budete pravděpodobně chtít, aby přinesla spoustu nedávných nástěnných pracovních míst.
Ty by nechtěl, aby přinesla všem z nich, protože to mohl vrátit o pár let.
Ale nechcete, aby jim zaběhnout jeden po druhém
proto, že by zavedl spoustu režie sítě.
>> Je to často velmi těžké - jakmile budete mít databáze běží -
to je často velmi těžké změnit, jaké údaje máte v něm -
to znamená, přidat nový databázový sloupec, nebo tak něco -
takže jedna dobrá strategie je vlastně jen držet hodně vašich dat v textovém blob -
JSON blob - JSON je JavaScript Object Notation -
Důvodem je to užitečné, protože je pak můžete přidat nové vlastnosti
ke všem těmto JSON kuličky beze změny databáze.
Jediná nevýhoda, že je, že pokud máte spoustu oborů
že jste přidali později - stejně jako skryté v tomto JSON blob -
pak je to těžší je dotaz v databázi.
Například, pokud se později - pokud jste měl svůj model post, které jsme diskutovali dříve
se jen autora, příjemce a text -
můžete mít také JSON blob, a pak, pokud jste později chtěli přidat pole pro datum
nebudete muset změnit své databázi.
Dalo by se jen přidat data do všech textových polí.
A pak byste měli být schopni podívat se na ty, na straně klienta,
ale nebudete moci dotazovat na straně serveru
protože je to skryto uvnitř tohoto textu.
>> Další problém, který budete chtít přemýšlet o tom,
je, jak váš klient a server se bude komunikovat.
Ty obvykle chtějí, aby to tak jednoduché, jak je to možné.
Můžete mít stejně jako-me-tento požadavek GET dat a,
create-a-new-object věc, a požádat o update-an-old-objekt.
A to by vše být různé adresy URL na serveru, který -
že by prohlížeč - můžete použít požadavky AJAX pro všechny z nich
a to buď přijmout, nebo rozmístit své údaje.
Opět platí, že pro naše kočka Facebook Například,
můžete mít tuto adresu URL získat individuální příspěvek,
a budeš mít URL pro vytvoření nového zeď příspěvek
a možná URL pro nahrávání vašeho profilu obrázek, a tak podobně.
Ale opět, to je pre-fetch většina vašich dat, takže nemusíte mít na
Díky síťové požadavky.
Z tohoto důvodu, možná nebudete chtít, aby to individuální žádost get pro jeden post,
a místo toho se jen chcete jedna žádost get pro celou stěnu.
A pak, pokud se snažíte najít rovnováhu, protože -
to bude také záviset na vaší žádosti.
Protože pokud jste očekával, že lidé mají jen 10 nebo 20 Příspěvky na zdi
že bude v pořádku.
Ale pokud jste očekával, že budou mít tisíce a pak, že žádost by trvalo příliš dlouho,
a tak možná budete chtít přidat parametr get-všechny-příspěvky-od.
>> Pro všechny z nich budete pravděpodobně chtít synchronizovat data v JSON -
JavaScript Object Notation.
Skoro každý jazyk se zabývá JSON velmi dobře.
JQuery má tuto pěknou funkci getJSON, který bude dělat všechny tvrdé práce pro vás.
A na PHP je tu také velmi pěkné JSON komunikační funkce.
Tak, to je asi nejlepší formát pro zasílání modelů tam a zpět.
>> Jako příklad toho, co jsme mluvili o tom tak daleko,
Zde je příklad toku pro vaši kočku Facebook aplikace.
Začíná s prohlížečem, který požaduje základní adresu URL webových stránek.
Server pravděpodobně pošle přes statické HTML a některé JavaScript a CSS.
Obvykle je nejlepší nedělat žádnou vykreslování na serveru.
Vy asi nechcete -
co server není tam dělá se děje se stanoví seznam nástěnných příspěvků
a vytvořením HTML pro každou z nich a odeslání, které v průběhu.
Obvykle je nejlepší k tomu, že na straně klienta, protože jinak
pokaždé, když budete chtít znovu kreslit něco, co musíte udělat požadavek serveru.
A to vám velmi rychle dává hodně nad hlavou.
Je to obvykle nejlepší jen proto, aby loď pošle statické HTML
a pak JavaScript a CSS, který bude dělat vykreslování na straně klienta.
Jakmile že věci přijde,
pak můžete mít - v JavaScriptu - můžete udělat požadavky na údaje na zeď
a tak podobně, a poté, že server je v podstatě jen to, databázové dotazy
a kontrolu oprávnění.
Jediná důležitá věc je, že to není možné odesílat přes některé další uživatelé nástěnné příspěvky
že nesmíš vidět.
To může být v zásadě velmi tenká vrstva přístupu k databázi,
a pak všichni ukazovat data - všechny pohledy a tak -
které se může stát ve svém prohlížeči, a pak, když chcete, aby se příspěvek nebo tak něco
stačí poslat další žádost.
>> Tam je také nějaký ozdobný věci můžete dělat na vrcholu této.
Pokud jde o další konkrétní technické informace,
rozvíjí v prostém JavaScript může být trochu bolestivá,
takže tam jsou některé knihovny a nástroje, které vám pomohou hodně s tím.
Myslím, že jste všichni asi slyšeli o jQuery což dělá HTML renderování
a manipulace mnohem snazší - mají spoustu efektních funkcí pro blednutí dovnitř a ven,
a dělá zippy animace.
K dispozici je také tato knihovna s názvem Underscore.js.
Má spoustu užitečných funkcí nástroje, věci, které byste očekávali JavaScript, aby se
že je to opravdu doesnt - věci jako míchání pole,
odstranění duplicit ze seznamu, nebo zploštění seznam seznamů.
To je jen malá ukázka kódu.
Underscore má spoustu těchto pěkných funkcí, které si přejete byste mít po celou dobu.
>> A pak je tu 1 další knihovny, které bych chtěl strávit trochu času na
tzv. Backbone.js protože páteř opravdu pomáhá se vypořádat s modely na straně klienta
a mnoho zmatku, který to může způsobit.
Páteřní vám toto pojetí modelů a kolekcí
v JavaScriptu, které jsou v podstatě úplně stejně jako objekty JavaScriptu
v polích JavaScriptu, ale mají události, když změníte jejich vlastnosti.
Stejně jako v JavaScriptu, můžete mít událost, když se klepnutí na tlačítko nebo tak něco
Tyto páteřní modely a páteře sbírky bude vysílat věci, jako je
, že když se mění.
To znamená, že můžete jen napsat něco takového fragment kódu zde -
to říká, když přidáte něco na příspěvky pole můžete překreslit celou stěnu.
A to bych řekl, když počet post ze dne rád změny,
můžete uživatele upozornit, že někdo měl rád svůj příspěvek.
Nebo-li některá vlastnost příspěvku změní jste překreslení příspěvek.
Věci jako, že vám ušetří spoustu složitostí, protože jinak
pokud nemáte některých rámcových jako je tento a pak pokaždé, když ve svém kódu, který změní
něco o místo, měli byste mít na paměti, sami volat všechny vykreslení funkce se
a tak podobně, a pokud jste chtěli přidat něco nového, co se stalo
pokaždé, když změníte příspěvek budete muset projít každé místo ve vašem
kód, který jste změnili příspěvek a dodává, že nové věci.
Rámec takhle odstraní hodně, že mezi-vrstvy komunikace
že je váš kód složité a těžké udržet.
>> Tam je to trochu o názory také.
Chystám se opustit většinu to Billy, protože to technicky není příliš obtížné.
Použití jQuery pro vaše názory. Je to prakticky jako nutnost v tomto bodě.
Je to prostě dělá všechno tak mnohem jednodušší.
Existuje mnoho knihoven.
Pokud jste složité prvky uživatelského rozhraní,
Chcete-li automatické dokončování věc, nebo jako jeden z těch fantazie multi-selektoru -
Chcete-li něco takového, měli byste asi jen kolem hledat
a můžete najít dobrou knihovnu, která bude dělat to, co chcete.
Billy se vysvětlit více o skutečně složitých dílů názorů.
Také, jako vedlejší poznámku, páteř má některé funkce pro vytváření zobrazení komunikovat
pěkně s modely - podívejte se na dokumentaci pro všechny z těchto knihoven, ve skutečnosti.
Stačí se podívat na dokumenty. Jsou to velmi dobře napsaný a snadno sledovat.
Obecně platí, že můžete skoro jen Google, pokud máte problémy.
Existuje spousta lidí, jejich použití.
Myslím, že to je jako poslední poznámku.
>> Tam jsou také některé pokročilejší věci, které můžete udělat
Pokud hledáte, aby vaše webové aplikace navíc úžasné.
Můžete to udělat - nová specifikace HTML5 má spoustu fantazie, co můžete udělat.
Místní úložiště - což je můžete ukládat data v prohlížeči -
spíše než se vrátit a prostudovat server pro všechno,
můžete mít některé z nich na klienta, a to dokonce umožňuje lidem -
v některých případech může dokonce vám umožní použít webové stránky v režimu offline.
Tam je to, čemu se říká websockets, které jsou různé druhy síťové komunikace
kde místo jen uděláte jednu žádost, dostanete odpověď, a máte hotovo,
budete mít otevřít připojení k serveru, a tak si můžete dělat věci, jako je
Aktualizace v reálném čase.
Takže, pokud jste se snaží vydělat na aplikaci pro chat, můžete použít websockets
komunikovat tam a zpět, takže byste nemuseli držet vyžádání,
"Ach, server, to mi někdo poslat popovídat?" každých 10 sekund nebo tak něco.
K dispozici je také zajímavá HTML5 funkce, kde si můžete, aby to vypadalo, jako
URL stránky se mění, aniž byste museli skutečně vložte jej.
Můžete použít tlačítka Zpět a Vpřed, aniž by dělali spoustu žádostí sítě.
Věci jako, že je skutečně užitečné, pokud jde o dělat to rychlé, ale také pracovat jako webové aplikace by měla.
>> K dispozici je také to, čemu se říká CoffeeScript.
CoffeeScript je jiný jazyk, ve skutečnosti, že sestavuje až JavaScript.
Ty by se napsat celý kód v CoffeeScript, a pak spustit tento kompilátor,
a to vyplivne soubor JavaScriptu, který můžete zahrnout do své webové stránky.
Důvod, že CoffeeScript je pěkné je, protože to zbaví mnoha
podivné případy, že JavaScript má-li se rovná rovná,
a rovná se rovná dělat různé věci, nebo chcete -
má hezčí syntaxi pro řešení polí a funkcí.
To je malý úryvek z CoffeeScript, které vytváří seznam všech čtverců
od 10 ^ 2-1 ^ 2 v opačném pořadí.
Jak můžete vidět, CoffeeScript často umožňuje vyjádřit v 1. řádku
co by se pět řádků JavaScript.
To může dělat věci mnohem jednodušší.
Je to trochu o nové syntaxi učit na první,
ale je to určitě vám bude více produktivní v dlouhodobém horizontu.
>> Můžete použít i jiné jazyky na serveru, než PHP -
jazyky jako Ruby, Python, nebo tam je i projekt s názvem node.js
které vám umožní používat JavaScript na serveru.
Osobně jsem opravdu, ale opravdu nesnáším PHP.
Já prostě baví práce s ním.
Pokud jste také, myslím, že to je hrozné cluge jazyka,
pak můžete použít jeden z nich místo.
Obecně platí, že pokud chcete něco udělat, a vy opravdu nevím, jak by to udělal,
stačí hledat na internetu.
Tam jsou tuny a tuny zdrojů, zejména na -
StackOverflow je skvělá jedna.
Je to webová stránka, kde programátoři klást vzájemně otázky.
Možná jste narazit na to, pokud jste byli s problémy na CS50 problémových sad.
A tam jsou tuny knihoven pro to cokoliv byste chtěli.
Pokud chcete něco udělat a nevíte jak na to,
Nepředpokládáme, že je to nemožné.
Stačí se podívat kolem sebe a vy byste mohli najít nějaké dobré zdroje.
>> Jako obecné zabalit,
hlavní stánek s jídlem je udržet věci jednoduché.
Složitější váš kód je na začátku
a více se snažit a dělat efektní věci,
tím déle bude trvat, než něco skutečně funkční
a tím těžší to bude později změnit.
Takže, dělat věci hloupé, snadný způsob, jak první.
Chcete-li jít spolu s tím,
neboj se o zahodili starý kód nebo čištění to hodně.
Obecně platí, že jakmile jste skutečně něco práci,
je to mnohem jednodušší přemýšlet o tom, než když jste stále v počátečních fázích
jak mám dát to všechno dohromady.
Je to nejlepší, aby nejhloupější možný design, který funguje
a pak jej zlepšit opakované než se snažit, aby si vše hned napoprvé.
Pokud jde o rozdělení klient-server, a pokusit se udržet svůj server velmi jednoduché -
jen databáze a některé ověřování a nedělají tam žádnou těžkou práci.
Proveďte všechny své komplikované věci na straně klienta v prohlížeči
v JavaScriptu, stejně jako můžete.
Rozhlédněte se kolem sebe pro knihovny, které činí váš život lepší.
Vždy lepší použít kód, který někdo napsal
pokud - a ne, aby to napsat sám.
Je tu spousta věcí na internetu. Google je váš nejlepší přítel.
Google je nejlepší přítel programátora.
Jo, rozhodně se nebojte se porozhlédnout na věci.
Dobrá. A na Billyho.
>> [Billy] Ve skutečnosti, než začnu s nějakou konstrukční věci,
má někdo nějaké otázky Ben o ničem, že mluvil o?
Dobře, dobře.
Opět platí, dejte nám vědět, pokud něco není jasné,
nebo pokud byste chtěli, abychom šli nad něčím trochu více.
Jdu krok zpět trochu a mluvit o více základních částí konstrukce.
Ben zmínil model s názvem - sorry, model pohled kontrolor systém
což je druh technického hlediska, tak jdu se podívat na názory specificky,
a já jdu začít s tím, jak byste navrhnout, že vypadá hezky.
Tady je trochu opravdu základní šablony pro naše kočka na Facebooku.
Myslím, že tam jsou některé základy v moderním designu uživatelského rozhraní
že stojí za vyzvednutí.
Můžete si všimnout, že je spousta prázdného místa po celé stránce,
dostatek prostoru pro věci.
Nemějte pocit, jako byste měli na squash věci do stránky.
Chcete-li ponechat dostatek prostoru otevřené, a když jdete do téměř každé moderní webové stránky
uvidíte, že je to bílá všude.
K dispozici je bílá v místech, byste nečekali.
Máte tento paletu barev, a je moudré na začátku
vybrat barevnou paletu, že budete pracovat a rozvíjet se.
Můžete také - to pomáhá vybrat písmo, a to tak, jak to trochu práce s
Tyto betonové základy designu.
Máte svůj typ, budete mít své barvy, a pak můžete druh
vejde všechno ostatní podle potřeby.
Takže, jak jsem řekl, s barevným schématem chcete použít odvážnější barvy vašeho barevného schématu
střídmě. Hlavičky jsou pěkné. Tlačítka jsou hezké mít opravdu velké, efektní barvy.
Ale obecně, pokud máte webové stránky, která má barvy všude,
všechny vás hledí tváří v tvář, to prostě vypadá nepřehledně, a to není dobré.
Chcete-li obecně používají světlé barvy.
Snažte se, opět, vybrat docela koherentní barevné schéma.
Můžete mít tyto malé potřísnění spoustou barev -
které mohou vypadat docela pěkné, ale chcete používat dost střídmě.
>> Jak jsem řekl, chcete být minimální. Méně je téměř vždy více.
Pokud můžete zobrazit něco, nebo ne zobrazit něco,
a vy jste docela jistý, zda by to mělo být, že ve výchozím nastavení -
Pravděpodobně jste nejlepší, když odchází ven. Vždy se můžete přidat později.
Jo, udržet věci jednoduché.
Ale co je nejdůležitější, budete chtít, aby zvážila několik návrhů.
Nemyslete si, že když uděláte stránky, budete mít v hlavě, že budete na
aby místo v určitým způsobem, a bude to vypadat přesně takhle.
Bude to mít modré záhlaví v horní a modré boční lišty
a pak žluté sub-header věc.
Chcete-li vytvořit více šablon.
Můžete buď - pokud jste dobrý s Photo Shop, můžete otevřít, že se i trochu
vytvořit webové stránky, jak se vám líbí, aby to vypadalo.
Pokud ne, stačí použít tužku a papír,
ale poškrábat se více návrhů.
Chcete-li mít v podstatě nastavit, kde budete mít spoustu různých vzorů,
a pokud jeden skončí v práci, pak je to skvělé.
Pokud jeden skončí nedaří, pak budete mít vždy jiný se obrátit.
Obecně platí, že nemají pocit, že by měla být omezena
do jakéhokoli designu jste původně rozhodovat o.
Návrhy jsou velmi variabilní, a část významu modelu
pohled řadič je systém, který můžete vyměnit dovnitř a ven různé pohledy, které chcete.
Můžete ovlivnit data, na jednu stranu, a pak se rozhodnout, oh, vlastně, že nefunguje tak dobře.
Myslím, že je to trochu příliš složitá nebo tu část tady, že to není opravdu funguje,
tak jsem jen tak zcela opustit tento názor a swapu v úplně nové.
Můžeme stále používat staré modely a staré ovladače.
Můžeme dělat vše na serveru a klientovi, jak bychom předtím.
Ale skutečná vlna data jsou zobrazena se bude mírně lišit.
>> Co se týče skutečnosti, kterým se provádí návrh, který chcete,
Jakmile budete mít několik návrhů načrtl na papír nebo na Photo Shop, nebo cokoliv,
existuje řada nástrojů, které jsou vám k dispozici.
První, že jste velmi dobře obeznámeni s, což je vaše HTML, PHP, nebo cokoliv
jazyk, který používáte jen pro kódování statických stránek na vašich webových stránkách.
Vy jste hodně pracoval s HTML, které vám trochu dává tyto tagy
že si můžete dát věci do, a v podstatě je to způsob, jak organizovat svůj obsah.
Například, máte hlavičku nahoře, takže budete mít značku záhlaví,
a to bude mít nějaký text uvnitř ní, která se pravděpodobně bude v jiném tagu.
Pak máte sidebar možná s některými různé odkazy,
a ty budou všichni v samostatných značek.
Takže, v podstatě HTML ve svém srdci je způsob, jak rozdělit stránky jak
budete nakonec chtít naformátovat.
Takže ještě jednou, co jste viděl, že.
Jsi docela spokojeni s práci s ním teď
za předpokladu, že jste udělali poslední pset doufejme,
tak, že by neměl být problém.
>> Pak máte CSS, které v podstatě zpracovává všechny designu statických aspektů.
To by zvládnout všechny barvy, všechny polohy různých prvků,
kam jdou vůči sobě navzájem,
jak jsou velké, různé druhy positionings, které by mohly mít -
Jinými slovy, můžete mít věci pevně, takže při posouvání dolů zůstávají,
nebo můžete mít věci ve vztahu k ostatním prvkům.
Vše o tomto druhu věcí je v CSS.
Kromě toho můžete dělat různé dekorace, můžete mít barvu textu,
textové efekty, všechny takové věci.
Ben dal opravdu dobrý seminář o tomto víkendu,
a tak bych určitě zkontrolovat, zda, zda máte v plánu dělat nějaké efektní věci s CSS.
CSS3 je vlastně nejnovější verze CSS, a to může dělat všechny druhy opravdu pěkné věci.
To může dělat sklony, můžete mít pěkné, zaoblené rohy, můžete dělat všechny možné věci
aby vaše webové stránky vypadat moderní a fantazie.
>> Další nástroj je JavaScript a jQuery, které Ben mluvil trochu o,
ale budu trochu dál do.
JavaScript, jak jste pracovali s ním trochu, nebo alespoň viděli v přednášce,
je druh způsob, jak dynamicky dělat věci v HTML.
HTML, jak víte, je statická, takže až budete mít HTML nemůžete ji změnit.
Ale JavaScript, v některých ohledech, je způsob, jak být schopen modifikovat HTML.
Takže si můžete udělat, a to je skvělé, ale JavaScript je opravdu bolest s ním pracovat.
Je to tak dlouho a tupé, a to dokonce i ty nejjednodušší věci
vyžaduje spoustu řádků JavaScriptu.
Takže, jQuery je v podstatě knihovna JavaScript, která zjednodušuje všechno.
To říká, dobře, pokud chcete mít čtvercový rámeček přišel z levé strany
a ustoupit do strany tak, že je ve středu, v JavaScriptu, které by se brát -
Já nevím, sto řádků dělat, a to by bolest,
a vyjdete z toho nenávidět vše o programování pro web.
JQuery jste v podstatě máte element-dot-fade-in, nebo něco takového.
Takže, velmi, velmi jednoduché funkce, které vám umožní dělat všechny druhy skvělých animací
a že takové věci.
Další věc, že ​​tyto 2 jsou opravdu dobré je jen to, dynamické věci
s webovými stránkami.
Takže, spíše než jen s vaší HTML stránky - který zobrazuje některé údaje, ale není ve skutečnosti
nic dělat - budou JavaScript a jQuery ať máte tlačítka, která můžete kliknout na,
a můžete přetáhnout prvky a re-objednávat je a třídit je, a mají nové prvky
přidány nebo odstraněny. Můžete přidat, mazat, takové věci.
Takže, jQuery dělá spoustu skvělých věcí.
A Vipul je vlastně dává seminář o tom dnes, věřím, že na 5-hodin,
takže pokud můžete držet kolem tak dlouho, že by - 5 nebo 4?
Čtyři. Promiňte. Je to vlastně hned po to, tak bych doporučil
držet kolem pro něj, pokud je to možné.
JQuery je super, super užitečné, a vy budete moci dělat spoustu opravdu pěkných věcí s ním
pro skoro jakýkoli vývoj webových projektů.
>> Teď jdu se dostat do druhu rozlišování.
Mluvil jsem v podstatě o uživatelském rozhraní.
Uživatelské rozhraní je jen design stránek.
Ale je to trochu jiný koncept, který je uživatelské zkušenosti.
Oba jsou velmi odlišné.
Rozhraní je určitě součástí zkušenosti.
Jinými slovy, když jdete na webu, můžete se podívat na rozhraní.
To je součástí toho, jak se u Vás objeví na webu.
Ale zkušenost uživatele je víc než to.
Uživatel zkušenost je o tom, co dojem, že uživatel dostane z vašeho webu je.
Takže, samozřejmě, rozhraní je součástí.
A to je určitě nezbytnou součástí, ale to nestačí.
Jinými slovy, pokud máte příjemné rozhraní, a je to hezké a barevné a to všechno,
To je skvělé, ale v případě, že uživatel přejde na vaše stránky, vidí hezkou rozložení a je zmatený
všechno, nemá ponětí, jak to udělat nic, pak samozřejmě jste udělali opravdu
špatná webové stránky.
Je to druh, kde uživatelské zkušenosti vypovídací
Já budu mluvit trochu o UX designu - UX je zkratka pro uživatelské zkušenosti -
a trochu o tom, jak se můžete ujistit, že máte dobrou uživatelskou zkušenost.
Prvním bodem je, že můžete vytvořit webové stránky, kde si uživatel může dělat cokoli, co
že uživatel pravděpodobně chce.
Ale v případě, že uživatel nemůže přijít na to, jak dělat ty věci -
Jinými slovy, v případě, že uživatel nemá dobrý nápad, když jdou na vaše stránky města,
"No, když chci aktualizovat svůj profil, pak jsem klikněte na toto tlačítko, nebo když chci psát o
něčí zeď, pak jsem se jít na jejich zdi a klikněte na krabičce. "
Pokud uživatel neví, že, pak jste skutečně mají ve skutečnosti
provedeny správně, že funkčnost.
Součástí implementace funkce je, že uživatelé jsou skutečně schopni ji používat.
A to může být frustrující - můžete udělat stránky, a to může dělat všechny druhy
úžasné věci, ale pak budete mít lidé vyzkoušet a řekl: "To nemůžete udělat.
Proč nemůže to udělat? "A budete říkat zpět k nim,
"No, je to možné. Musíš jít do 7. rozbalovací nabídce na tento temný
Stránka, která se nachází pouze pomocí odkazu v pravém dolním pravém rohu ", nebo tak něco.
Je zřejmé, že nechcete, že.
Chceš, aby to bylo jasné pro uživatele, co mají dělat,
a to by mělo být jednoduché a intuitivní pro ně.
>> Další věc, kterou chcete, aby se pokusili udělat, je, pokud někdo půjde na vaše stránky
a 9 z 10 krát dělat akce A a 1 z 10 krát dělat akční B,
pravděpodobně budete chtít zaměřit své zkušenosti na akce A.
Jinými slovy, chcete, aby se to velmi, velmi jasné, jak to udělat A.
By měla být přední a-centrum - k dispozici na webu, viz to, ach, je to tady.
Vzhledem k tomu, B, samozřejmě chcete, aby bylo jasné, ale můžete ji nechat trochu víc
v pozadí.
David dává dobrý příklad tohoto v přednášce,
což je systém Boston T.
Když jdete do Bostonu T a chcete si koupit lístek,
musíte se dostat do 5 menu, než budete moci skutečně koupit jízdenku
za $ 2, 2,50 dolar hodnotu, která je, jak moc to má jezdit metrem
v jednom směru.
To je problém, protože většina lidí, kteří jsou na koni na metro
pravděpodobně jen chci jít na jednom místě, koupit vstupenku, se na hned.
To nedává smysl, že budou muset projít mnoha různými nabídkami
se tam dostat.
Lepší uživatelský zážitek bude rychlý tlačítko na první stránce
že jen říká, "koupit jednosměrnou letenku," a že by se dal ve všech standardu
výchozí hodnoty, a pak, pokud někdo chce koupit jinou letenku, než to,
stále, samozřejmě, mají možnost, ale vy jste optimalizovány pro
v případě společného použití, který je opravdu důležité.
Můžete vidět příklady tohoto na Facebooku, že jo?
Vydáte-li se na Facebook a chcete psát stavu,
to je přímo na vrcholu, který je to, co často chcete dělat.
Jakmile vstoupíte na stránku, můžete tak učinit nejběžnější věci, které
chcete dělat.
Pokud chcete udělat něco složitější věci, jako je,
že chci jít do zdi mého přítele, a lze vystavit obrázek na něm -
které budu chtít dělat často, ale ne tak často, jak vysílání aktualizace stavu -
tak v tom případě, bych zadejte své jméno do pole nahoře, klikněte na jejich profilu,
a pak, ještě, že je to přímo na vrcholu, jakmile jsem se dostal do jejich profilu.
Opět jsem optimalizovány priority pro případy nejčastější užití.
>> Další důležitou věcí je, že často lidé budou trochu snažit, aby tento postup obejít
tím, že říká, dobře, tak jsem dělal místo a lidé zjišťují, že je matoucí,
a to je problém, ne?
Je zřejmé, že nechci, aby se lidé zmateni obsah mého webu.
Ale způsob, jak vyřešit to, že nemá co vyskočí říká,
hej, budu vás naučí, jak používat tuto stránku.
Krok 1 - klikněte na toto tlačítko. Krok 2 - naleznete zde.
Jasně, že je to způsob, jak kolem něj - to je způsob, jak můžete říct lidem, co mají dělat, ale je to
opravdu není optimální způsob.
Pokud bych jít na webové stránky, a najednou jsem bombardován s tímto tutorial, který mě říká
co mají dělat a kam jít, a to všechno, že to není zábava pro mě.
To není dobrý zážitek pro mě.
Je to trochu bolesti. Chci jen začít dělat věci.
Lidé jdou uzavřít z dialogového okna svého,
nebo vypadni z tutoriálu, nevím, co dělat, a pak si stěžují, protože
jste jim řekl, co mají dělat.
Způsob, jak vyřešit tento problém tím, že není žádný druh kurzu a směry -
něco takového.
Stejně jako se můžete vyhnout, opravdu chcete ukázat uživateli, co má dělat
právě vzhledem k povaze toho, jak se webové stránky stanoven.
Jinými slovy, když půjdu na Facebooku bez přihlášení,
První věc, kterou vidím na hlavní stránku -
je to trochu přihlašovací okno. Takže, duh. Musím se přihlásit Je to přímo tam.
Vzhledem k tomu, když jsem šel na Facebook a musel jsem kliknout na malý odkaz v dolní části
že řekl "přihlásit" a zbytek stránky byl jen nějaký obrázek nebo tak něco,
Já bych opravdu nevím, co mám dělat, že jo? Chtěl bych být zmaten.
Takže by mi to, abych se tam dolů a klepněte na tlačítko pro přihlášení,
nebo Přihlásit tlačítka by mohla být na vrcholu, kde budu vidět pravdu.
Chcete být vždy ukazuje uživateli, co má dělat,
a které by měly být vlastní samotné stránce.
>> Pokud uvažujete o návrhy a zesměšňovat se různé způsoby
vyjadřuje své stránky, chcete opravdu přemýšlet o tom, co uživatelé budou
dělat a jak můžete ukázat jim, co mají dělat.
Jedna poslední věc je testování je opravdu, ale opravdu důležité.
Je skvělé dostat někoho - získat přítele, někoho, koho neznáte ani -
kdo nikdy neviděl místo, než používat stránky.
Vzhledem k tomu, že jste pracoval na místě několik hodin, jste na něj zíral,
a budete přesně vědět, co dělat, takže zřejmě budete testovat
věci, které jste pracovali dál a že víte, práce.
Ale když někdo přijde a používá web, který se nikdy nepoužívali,
to je jedinečný zážitek, protože budete mít někoho, kdo nemá žádné předchozí znalosti
na místě jít do něj, takže budete muset účinně ponětí, co dělat
nebo jaký druh případů užití jsou přítomny pro ně.
To je skvělé. To je unikátní, protože oni jsou v podstatě člověk s prázdnou pro mysl.
Mohou říct, jestli něco je matoucí nebo nejasné.
Mohou vám představu o tom, co přesně uživatelské zkušenosti vašich stránek je.
To může být velmi těžké říci, že sám sebe, takže určitě bych vás povzbudit
jak budete rozvíjet své projekty - pokud děláte webových projektů -
aby si lidé pomocí stránky jak brzy jak máte nějaké funkční demo.
>> Teď budu mluvit trochu o tom, jak řídit vývoj webových aplikací projektu.
Šli jsme nad tím, jak si můžete udělat technickou back-end stranu,
jak si můžete vytvořit opravdu dobré místo,
a to je skvělé, pokud pracujete sami, ale -
i když pracujete sami, a to zejména v případě, že pracujete v týmu,
řízení projektu se stává velkým problémem.
Vy jste trochu slyšel o řízení projektů v různých formách od
základní škola, když jsi řekl, skupinovou práci.
Musíte spolupracovat, komunikovat, všechno.
To vše stále platí tady, ale tam jsou některé jedinečné okolnosti
počítačová věda, že chcete být vědomi, a chcete se ujistit, že zvládnout dobře.
Promluvím si nejdřív něco o týmu, který budete mít palců
Je velmi důležité vybrat správnou velikost týmu se pracuje,
a já jsem ve svém posledním projektu, že máte možnost zvolit
mezi 1 a 4 osoby, pokud se nemýlím.
Chcete, aby se ujistil, že nejste jen výběr počtu osob
že chcete pracovat s, protože jsou vaši přátelé.
Chcete-li si vybrat tým, který je dobré velikosti, a že budou mít práci.
Tam je kompromis v tom, že více lidí, oproti méně lidí.
Máte-li více lidí, samozřejmě více práce může být provedeno
proto, že máte spoustu lidí, spoustu kódu, spoustu nápadů,
a to je vše skvělé.
Ale je to také vyžaduje mnohem více řízení a mnohem více komunikace.
Jinými slovy, pokud máte 4 lidi pracující na stejném projektu
a oni jsou všichni editace stejný kód, více či méně, že všechny druhy potřebují vědět,
co se děje tak, že vyžaduje, abyste -
pokud přidáte nějakou novou funkci, kterou nějak muset říkat lidem - Já přidání to,
Měním to tímto způsobem - a to zejména, pokud se dostanete do opravdu hluboké věci
jako modely a regulátorů, které jsou ve skutečnosti jdou ovlivnit, jak web funguje.
Celý tým musí být vědomi toho,
takže je třeba se ujistit, že nejste výběrem příliš velký tým, který to bude těžké
aby tuto komunikaci.
Také nechcete si vybrat malý dost tým, který vám nebudeme
být schopen komunikovat, protože je to jen vy.
>> Další věc, aby zvážila, je rovnováha, kde dovedností lidí jsou.
Je to skvělé, kdyby jste všichni opravdu dobří programátoři.
Ale pokud jste všechny back-end lidí, pak se vaše stránky nebude vypadat velmi dobře
proto, že máte tuto velkou databázi, a to dělá super-rychlých vyhledávacích dotazů -
což je skvělé - ale když jdete na to, je to jako na webu 1990 je s červená a modrá
všude, a to není dobré.
Všimněte si, že Ben a jsem pracovat jako tým, jsou velmi pěkné, protože jsem trochu víc
v přední části, oba jsme komunikovat ve střední-end, a Ben je opravdu dobrý s back-end věci,
takže funguje opravdu dobře, protože můžeme vytvořit libovolnou webovou stránku a v podstatě díry
v tomto místě, které je třeba vyplněno mohou být vyplněny buď jeden z nás, nebo případně obojí.
Chcete, aby se ujistil, že jsou ve vašem týmu žádné díry.
To je v pořádku, pokud tam je trochu překrývají.
Jinými slovy, pokud máte dva lidi, kteří jsou oba dobré se zadním konci,
které mohou být dobré i proto, že mohou navzájem pomáhat s problémy
, které mají.
To může být problém, pokud máte jen 1 osobu, která je zodpovědná za určitou věc
a oni narazí na problém, takže vy chcete mít trochu překrývají
ale co je nejdůležitější, chcete, aby se ujistil, že všechny možné otvory jsou vyplněny.
>> Poslední věc - a to by mělo být zřejmé, ale je to často není.
Opravdu chceš, aby se baví.
Smyslem tohoto posledního projektu CS50 a často bodem vývoj webových aplikací obecně
není jen dělat práci, protože je třeba dělat.
Opravdu chceš, aby se baví, a chcete, aby se dělat něco
že je motivuje vás na něm pracovat.
Pokud cokoliv děláte, je bolest sednout a pracovat,
pak nejste výběrem vhodného projektu.
Chcete-li si vybrat něco, co najdete zajímavý,
opravdu chcete vidět výsledek, jste rádi, když dostanete novou představu o tom,
něco, co byste mohli udělat - takže je tu všechny druhy projektů tam, že jsem si jist,
najdete - každý má něco, co by opravdu intriky jim
pokud děláte projekt, internetový.
Řeknu to ještě jednou teď.
Pokud váš projekt jeví jako bolest, a nechcete pracovat na tom,
vybrat jiný projekt. Vyberte si něco, co vás opravdu inspiruje.
>> Ben zmínil tento pojem iterace trochu, a já chci jít na to trochu.
Je to opravdu důležité pracovat v proudech, kde můžete získat něco funkční.
To může být skvělé, pokud máte tento plán pro webové stránky, které se chystáte, B a C,
a nakonec to bude se tam dostat.
Ale vy jste uvízl v této fázi, kdy jste na něm pracovali a pracují na tom,
ale nic se stále provádí. Nemusíte nic vidět a hmatatelný, funkční věc.
To, co opravdu chcete dělat, co se zdá, druh bolesti někdy
pracovat na něčem a pak nějak víčko ji tak, že je to přinejmenším stabilní, běží
verze, i když to nemá všechny funkce, které chcete.
A možná, že tam jsou některé funkce, které opravdu chcete přidat, ale prostě nemůže
proto, že chcete, aby se na tuto stránku do funkčního hlediska.
A tak si chcete trochu mít Celý proces vývoje vypadat, že.
Chcete-li začít někde funkční - nebo v podstatě začít s ničím -
ale chcete dostat někam velmi jednoduchý a funkční.
A pak znovu, aby jakýsi skok a dostat se zase někde funkční.
Budete se pomalu budovat, a to by mohlo jít o něco pomalejší, než by jinak,
ale v dlouhodobém horizontu, pokud jste stále uvízl v této střední fázi země, kde se
nejsou ve skutečnosti nic pracuje, může to být opravdu velká frustrace
pracovat na projektu, protože jsi vždy tak blízko k získání to funguje,
a je to vlastně nikdy pracovat.
Chcete pracovat v těchto funkčních proudech,
a budete také chtít udělat nějaké reflexi po každé z nich.
Jinými slovy, jakmile jste na místě, kde stránka je nyní pracuje -
to nemá co se vám líbí, ale to dělá některé věci -
Chcete-li si, jo, je to místo plnění cíle, který jsem se rozhodl dělat?
Jinými slovy, v případě, že web bude dělat X, je to, co jsem pracoval ve směru X?
Jsou všechny funkce, které jsem tam chtěl?
A navíc, je to slouží celkový účel, který chci?
Máte-li zjištění, že vaše stránky se začíná zatáčet v jiném směru
nebo možná věci tak nějak nefungují, může to být čas, aby řadit trochu.
Jinými slovy, je to stojí za úvahu - stojí to za vyhazovali nápady pokud je to nutné
a vzhledem k tomu mám opravdu funguje na to, co chci být.
>> Věřím, že je to můj další bod. Nebojte se vzdát myšlenky.
Jen proto, že jste strávil spoustu hodin práce na funkci
a konečně dostal to funguje, ale je to opravdu nebude tak dobře -
jako že to není tak užitečné, nebo uživatelé mají problémy s jeho použitím - takové věci -
nebojte se vyhodit.
Je to na hovno, že jste strávil spoustu času pracovat na tom,
ale nakonec nechcete web, který se trochu dát dohromady těmito kousky, které
druh práce, ale nejsou tak dobře sloužil.
Také, nebojte se přijímat nové myšlenky.
Pokud někdo přijde a řekne, hele, to místo vypadá opravdu cool, ale
nebylo by to ani být skvělé, kdyby to také udělal?
Jen proto, že to je něco, co neměl v úmyslu, a něco, co není ve vašem
specifikace, něco, co jste si předsevzali,
nebojte se vzít ji a pak se s ním pracovat.
Protože často myšlenky, které spustíte pomocí průběhu vývoje
skončí tím, že se opravdu cool funkce webových stránek.
>> Řekl jsem to předtím. Řeknu to ještě jednou.
Testeři jsou super, super užitečné.
Snažte se získat lidi, kteří nikdy neviděli stránky dříve, než se přihlásit a vidět, co se děje
protože můžete vyzkoušet nejen užitečnost stránky a uživatelské zkušenosti,
ale oni mohou také otestovat funkčnost způsobem, že nemůžete.
Pokud uděláte nějakou funkci, která dělá určitou věc
a víte, že to bude dělat, že to samé správně pokaždé, to je skvělé.
Ale to může být často obtížné vysvětlit rohových případech, kdy uživatel může
napište něco, co jste nečekali - právě proto, že jste definovali
funkce sám.
Tak, aby se někdo přijít na to, kdo nemá ponětí, jak používat stránky
a jen zlomit to v jakékoli způsoby, které můžete udělat, je opravdu užitečné, protože vám
získat představu z úplně jiného pohledu, co na vašem webu funguje
a co je potřeba opravit.
>> Poslední, budu mluvit o některých obecných osvědčených postupů,
a vy jste viděl hodně z nich v CS50, ale také opravdu, ale opravdu platí v nastavení projektu.
Jedním z nich je komentář. Vždy komentář kód zvláště pokud pracujete na velkém týmu.
To může být tak nepříjemné jen obří blok kódu, který někdo napsal
a možná to funguje, možná ne, ale nemáte tušení, co to dělá,
takže máte tušení, zda je to užitečné, nebo ne, nebo zda by mělo být tam, nebo ne,
a pokud pracujete na něčem jiném, že je dokonce možné, že pracujete na
to samé, takže jen velmi, velmi opatrní, být ohleduplní vašich vrstevníků
a psát kód, který je dobře zdokumentováno.
Nemusíte zajít tak daleko, jak to udělat celou věc, kde rádi, pokud si zvýšit
Počítadlo mít komentář, který říká, jsem přidat 1 k této přepážce.
To nemusí být tak podrobná, ale pro jakoukoli funkci, že jste někdy psát
měli byste mít nějakou dokumentaci o tom, co tato funkce přesně dělá,
jaké jsou jeho vstupy jsou, a jaké by měl vrátit.
Tímto způsobem můžete použít i jiné komponenty lidí z místa
a můžete pracovat na budování něčeho velkého.
>> Další důležitá věc je, že chcete dělat pravidelné očištění.
Kód dostane chaotický. Necítím se špatně, pokud váš kód je jen zcela nečitelný a obří nepořádek.
To se stává při vývoji webových aplikací vždy.
Ty přidávání nových funkcí, odstranění staré. Věci se bude tam, že by neměl být.
To je v pořádku, ale chcete, aby se ujistil, aby se s tím vypořádat pravidelně.
Nechcete to nechat vybudovat do bodu, kdy si prostě nemůže najít nic
v kódu, a nemáte ponětí, co všechno dělá.
To je případ s HTML.
Někdy budete skončit s objekty, které neobsahují nic,
a budete chtít zbavit těch.
V CSS, můžete být s odkazem na prvky, které jsou už tam není,
takže se chcete zbavit tohoto kódu.
V JavaScriptu, jste mohli odstranit něco z HTML.
Takže, chcete, aby se ujistil, že jste vždy uklízet, dělat věci docela
stejně jako si můžete na pravidelném základě.
>> Další opravdu užitečná věc, které jsem si nemyslím, že je uvedeno velmi mnoho CS50
ale je to stojí za to dostat do je řízení verzí.
Myšlenka řízení verzí je, když jste v podstatě udržet přehled o všech pokroku
jste se na vašich stránkách, a pokud v každém okamžiku si uvědomíte, ach, to byla práce
před chvílí, ale to nefunguje o nic víc, můžete se vrátit zpět na předchozí verzi
a vidět, co se změnilo od té doby, a takové věci.
Primární způsob, jak to udělat, je s Git, a Git je celý tento druh systému, který
Věřím, že Tommy MacWilliam dal seminář o poslední rok.
Pokud půjdete do CS50 seminářů pro rok 2011, můžete vidět jeho seminář na to.
Myšlenka Git je v podstatě, že v pravidelných intervalech budete dělat tyto závazky
které jsou způsoby, jak říkat místo je v docela stabilní verze právě teď, takže
Já je balení a odesílání pryč na server, a pak můžete jít na tomto serveru
a podívat se na všech předchozích verzí kódu a uvidíte, jak to postupovalo
a vše, co nějak dobré věci.
Tak, to je v podstatě to.
Pokud jde o vývoj webových aplikací, jsme rádi, že držet kolem a zodpoví všechny
otázky, pokud jde o naší prezentaci.
To je to. Díky. >> [Ben] Díky.
[Potlesk]
>> [Billy] Zaměstnanci, má někdo nějaké dotazy týkající se věci, které jsme na něž se vztahuje
nebo věci, které jsme se nevztahuje že doufali, že bychom pokrýt?
Byli bychom rádi zodpovíme ty. Každý, kdo?
[Z publika] Jaké jsou výhody a nevýhody použití Ruby nebo Python?
[Ben] Otázkou bylo, jaké jsou výhody a nevýhody použití Ruby nebo Python
místo jako PHP.
Klady jsou, že Ruby a Python jsou mnohem lepší, než jazyky PHP.
Alespoň podle mého názoru, a myslím, že v mnoha názorů jiných lidí stejně.
Byly navrženy více pro to složitější věci,
a méně pro nářez spolu webové stránky velmi rychle se
trochu dynamického obsahu.
Nevýhody jsou, že tam je trochu - je to spíš učení
aby si je nastavit.
To je, jako v PHP, stačí mít soubor HTML a píšete méně než
otazník, a pak napsat nějaký kód, a pak můžete napsat otazník,
větší než, a pak máte hotovo.
V jiných jazycích, jako je Ruby nebo Python,
budete muset projít trochu víc práce, aby se počáteční stránky běží.
K dispozici je také - alespoň to bylo v případě - že tam je více dokumentace
k dispozici pro PHP jen proto, že existuje více lidí, kteří používají to.
Myslím, že to není tak moc problém už.
Tam je jistě velmi dobrá dokumentace pro věci, jako je Ruby on Rails
nebo Django pro Python je ekvivalentní.
PHP je ten, který každého z nás používá několik let, a víte, jak to funguje.
Ruby a Python jsou trochu méně vyspělé.
>> [Z publika] Pokud byste měli vybrat mezi jedním z nich učit, nebo vyzvednout,
které byste dali přednost?
Upřímně řečeno, myslím, že záleží na osobě.
Je mi to líto. Otázkou bylo, který by si vyberete pro někoho naučit?
Zjistil jsem, Python nejhezčí osobně.
Existuje mnoho lidí, kteří - Udělal jsem můj první web dev projekt v jazyce Python a Django.
Existuje spousta lidí, kteří mají rádi Ruby on Rails také.
Asi více lidí, kteří vědí, Ruby on Rails.
Upřímně řečeno, já bych prostě jít s tím, co lidé kolem vás vědět
takže budete mít lidé klást otázky.
>> Otázka byla - na sdílených serverech je to docela těžké pracovat na Python?
To záleží na vašem hostingu.
Existuje celá řada internetových hostitelů, kteří budou psát Python věci.
WebFaction dělá, že jo?
WebFaction je, že Billy a já jsem použil pro některé projekty.
Jsou to opravdu skvělé. Podporují většinu jazyků.
Ale je pravda, že PHP je hodně více široce podporován.
Takže, pokud jste přilepená na web hostitele, který jen dělá PHP, to je dobrý důvod pro použití PHP.
>> [Z publika] jsem se dostal do učení, jak se dotazovat několik databází,
a vím, že můj SQL je všude možně, ale v poslední době jsem se dostal vystaven -
a to poukázal. Vidíte, JSON a rozšiřitelné databáze.
My SQL je stále všude. Jak vidíš, že děje?
Je tam bude rostoucí tendence pro více rozšiřitelnou (neslyšitelné)?
Otázka zněla - si myslím, že to bude trend non-SQL databází.
Například, jako MongoDB. Myslím, že to je určitě pravda.
Moje rada byla většinou mySQL souvisejících tu jen proto, že MySQL je
průmyslový standard.
Osobně bych raději databáze, které nemají schemos jako MongoDB
kde nemáte problém, oh, musím přidat další sloupec.
Běda mi, jak dělat to, co mám dělat?
Je to velmi těžké udělat, že na MySQL, ale když máte něco jako Mongo
je to mnohem hezčí.
Další pěkná věc, o Mongo je, že vaše záznamy jsou ve skutečnosti objekty JavaScript.
Neexistuje žádný druh konverze kroku, kde je třeba, aby se tyto databázové řádky
a proměnit je v objektu JavaScript a poslat je přes drát.
Myslím, že věci, jako že bude velmi, velmi užitečné pro rychlý vývoj webových aplikací v budoucnosti.
>> [Billy] Něco, co bych dodal, což je jen obecný názor je, že
nemáte pocit, že byste se naučili všechny jazyky jsme diskutovali
z našeho semináře.
Je zřejmé, že jde o to, aby vám představu o tom, co je tam venku,
a pokud jste překvapený z toho, co jsme výše, můžete společnost Google
a přečíst si na ně.
A jak jsem již zmínil, existuje několik seminářů, které se zabývají právě těchto věcí.
K dispozici jsou i další semináře, které jsem se zmínil, že pravděpodobně dostanou do
tohle stejně.
Myšlenka je, že pokud chcete pracovat na něčem, zde jsou nástroje k dispozici.
Nemějte pocit, ohromen, pokud si nejste jisti, co tyto nástroje dělat přesně to,
ale vím, že jsou tam, a že si můžete dělat široké využití z nich
Google.
>> [Z publika] Jaké věci to, co musíte udělat, aby se ujistil, vaše webové stránky
vypadá dobře na mobilních zařízeních?
[Billy] Mobilní zařízení jsou trochu těžké.
K dispozici je 2 způsoby, jak můžete přistupovat jej.
První způsob je, že jste skutečně mobilní webové stránky.
Jinými slovy, můžete provést nějakou detekce na začátku
když je prohlížeč, který podává žádost, aby vaše webové stránky, které buď říká
vrátit tento názor - který bude pohled na stolním nebo přenosném prohlížečů -
a ten druhý pohled na mobilní zařízení.
To je místo, kde pohledy jsou opravdu pěkné v tom, že můžete docela hodně swapu
dva ven a rozhraní, které pracuje opravdu dobře na mobilních zařízeních
a mají zcela jiný, který funguje pěkně na zařízeních prohlížeče.
Problém s tím je, že trvá dlouhou dobu, protože to znamená, že kódování
úplně jiný interface.
Další způsob, který můžete udělat, je -
Mnoho moderních telefonů bude zobrazovat webové stránky a snaží se jim poskytnout jako prohlížeč by,
a dělají jejich nejlepší.
Můžete druh pokusit se zůstat světlo na množství jQuery JavaScript, který používáte
která má tendenci být tam, kde se věci mohou pokazit trochu.
To je něco na způsob, že byste měli použít, pokud nemáte tolik času.
Pokud máte čas, pracovat na mobilní rozhraní, které je zřejmě nejlepší volba.
>> Myslím, že obecně pro CS50 projekty, budete chtít vybrat jedno nebo druhé.
Jinými slovy, chcete, aby se mobilní aplikace, nebo chcete, aby webové stránky na ploše.
A to druh určuje, kam jdete s tím.
Ale pokud si chcete rozšířit ji později, pravděpodobně je nejlepší
aby další rozhraní pro ostatní.
Mám trochu zkušeností s vývojem webů WordPress bázi.
I hostil osobní webové stránky na WordPress na chvíli.
Tyto druhy rámců může být pěkné, stejně jako velmi základní věci.
Častokrát budete jen narazit na mnoho otázek přizpůsobitelnost ačkoli.
Budete chtít mít něco vypadat určitým způsobem, nebo se určitým způsobem
a vy prostě nemůže, protože je to napevno do systému, který
je to, jak budete muset dělat věci, které mohou být trochu problém.
Od té doby jsem trochu byl více nakloněn k práci s weby od základů.
Pro věci, jako je blog databází a takové věci, že to opravdu není tak těžké vytvořit rámec.
Pokud jste opravdu protáhl na dobu, můžete samozřejmě použít něco jako WordPress
nebo, že něco takového na blogu.
Na spoustu věcí, které blogy obchod a to je opravdu dost těžké, že
pokud vedete do některé z těchto druhů věcí, ty jsi asi nejlepší jen proto, aby
provést verzi in-house.
>> Myslím, že je to o tom, takže ještě jednou díky za účast.
Opravdu jsme si užili mluvit na vás a doufáme, že jste se naučili nějaké věci.
[Ben] Jsme rádi, že mluvit - musíme jít, ale my jsme rádi, že mluvit víc mimo
Máte-li další otázky. Ještě jednou díky. [Potlesk]
[CS50.TV]