[Powered by Google Translate] [Семинар] [Веб развој: Од идеја до реализација]
[Бен Кун] [Били Janitsch] [Универзитетот Харвард]
[Ова е CS50] [CS50.TV]
[Били] Здраво, јас сум Били и ова е Бен. >> [Бен] Здраво.
Ние ќе се зборува за веб развој и денес.
[Webdev] [Били Janitsch и Бен Кун]
А малку за нас.
Бен е вид на back-end дечко. Тој го прави работите работа.
А потоа одам во и да ги направи убави.
Јас сум во голема мера се вклучени со повеќе пред крајот на распоред дизајн вид на работи,
и Бен, од друга страна, пак, не знае што прави, па тој работи на back-end работи.
Заедно ние сме направени неколку работи.
На пример, минатата година работеше на Gimblium кој е онлајн развојот на играта студио.
Тоа беше нашиот последен проект за класата,
и од тогаш ние сме направени Харвард Класа
кој е онлајн рамка за прелистување и шопинг курсеви на Харвард.
>> Ние ќе се започне со таа идеја за нашата веб страница.
Ние ќе се направи Фејсбук, туку и за мачки.
Пред навистина да сте го прават овој веб-сајт,
не прават овој веб-сајт, бидејќи тоа не е добро, но ние ќе го користи како рамка
и оди преку процесот на тоа како ние ја искористам оваа идеја
и тоа се претвори во вистински веб-сајт може да се користат.
Ќе започнеме со кршење на веб-сајтот надолу.
Како што сте го правеле во CS50,
сакате да се размислува за она што се вистинските компоненти, кои одат во овој веб-сајт.
Во основа тоа се префрла од една идеја, која е само вид на апстрактен концепт
во вистински, опипливи нешто што може да направи.
Ние почнуваме со поставување на некои прашања.
Што е овој сајт? Зошто сме го прави?
Што е тоа ќе се користи за? Тој вид на работа.
Во случај на Фејсбук Мачка,
ние во основа сакаат веб страница која им овозможува на мачки социјална мрежа едни со други.
Идејата е дека тие можат да ја објавите на едни со други ѕидови,
тие можат да направат коментари, тој вид на работа.
И тоа е каде доаѓаме во функционални компоненти.
Сега имаме овој вид на рамка за - имаме кориснички профили,
имаме коментари, и можеме да ја објавите.
Можеби еден ден ќе прилив сака и тој вид на работа.
И ние вид на сакаат да се даде приоритет на овие функции ќе внатре
Ние сакаме да се каже како, добро, тоа е навистина важно дека секој има профил
и дека секој може да ја објавите на едни со други ѕидови.
Средно до тоа, коментари ќе биде убаво.
Можеби подоцна ние ќе прилив допаѓаат.
Значи, вие сакате да имате идеја за она што е од фундаментално значење за вашиот проект
и она што е вид на една поопшта функција која може да се примени подоцна.
Сакате да вид на имаат специфична листа на ум,
но проектот што ќе почнете со нема да биде проект кој ќе завршите со.
Со други зборови, работите се ќе се смени, додека сте со развојот на сајт,
и сакате да се остави простор за тоа.
Јас ќе го предаде бен кои се случува да се зборува малку за структура.
>> [Бен] јас ќе одам да се зборува за повеќе технички страна на веб развој.
Ајде да одиме над некои основите во прв план.
Кога правиш веб стан,
главната поделба дека си оди за да треба да имате е
сте ќе треба да имаат некои работи се случува во клиентската страна -
дека е, код кој сте прелистувач зема од сајтот
и JavaScript, HTML, CSS нешта.
Тоа е сè на клиентската страна.
Ви се случува да имаат и други код кој работи на страната на серверот
кој следи на сите податоци кои луѓето ги испрати во за вас,
одлучува кој да се даде она, работи како што.
Ова е само некои терминологија така што вие момци сите сме запознаени со она што го зборуваш.
Покрај тоа поделба тоа е добро да се мисли на вашиот веб-стан во смисла на
неколку различни компоненти.
Кога правиш веб развој
една од работите што секогаш треба да се обидувате да направите е да се намали комплексноста.
Посложени вашиот код е повеќе шанси има да се направи грешки,
толку потешко е да се промени подоцна.
Значи, ако може да се скрши на вашиот стан во некои различни функционални области
дека ќе биде - а вие може да го намали вид на износот на крос-област комуникација -
која ќе ви помогне многу во долг рок, во смисла на намалување на грешки.
>> Да бидат конкретни, обично луѓето поделба веб стан во -
овие се вид на зуи зборови сега, но тие се уште корисни.
Можеби сте слушнале луѓето зборуваат за модели, ставови, и контролори.
Модели се вистинските податоци дека вашиот стан ќе се занимаваат со.
На пример, во вашиот Cat Фејсбук, вашиот модели ќе биде -
ќе треба модел за како мислења, и модел за кориснички профили, работи како што.
Вашите ставови се како ќе го претстави дека податоците за вашите корисници.
Можеби ќе треба 1 Преглед за гледање на еден пост и сите коментари
и поинаков поглед за вашиот ѕид кој има листа на сите мислења
кои се насочени кон вас, и поинаков поглед за вашиот вести храна - работи како што.
Конечно, ќе имаат контролори кои се во основа кога луѓето ви испратиме мислења
и ќе се направи ажурирање на вашиот back-end систем,
ви прираст еден куп на шалтери, а сеедно.
Тие се вашите контролери.
>> Одам да се зборува најмногу за модели.
Пати се технички не е толку тешко и прашање е повеќе со дизајнирање на нив
Контролори се случува да бидат специфични за она што сте дизајнирање.
Но, постојат некои прилично општи техники можете да го користите
да се направи вашиот модели поубави и полесно да се работи со кои мислам дека се многу корисни.
Ова е најчесто се случува да биде за тоа како да се справи со вашиот веб-апликации податоци во еден убав начин.
Главните прашања со модели
се дека тие живеат на клиентот и серверот и што треба да дознаам
а) како да ги добие - сите релевантни - од серверот до клиентот,
и б) како да ги задржиме во синхронизација.
Вашите корисници се случува да сакаат да направат некои надградби.
Тие се случува да сакаат да направат нови мислења.
Тие се случува да сакаат да сакал работите и работи ако имате допаѓаат.
Тоа се главните технички предизвици на кои се занимаваат со модели.
Првото нешто што ви се случува да сакаат да се запрашате е
каков вид на податоци оди во овој модел и каков вид на пребарувања се што ќе сакате да се направи -
тоа е, како ќе се погледне на модели?
За вашиот Cat Фејсбук пример,
твојот пост се случува да имаат автор поврзани со него,
некои ѕид пост текст, и примателот на ѕидот пост.
И тогаш можеби ќе сакате да се пребарува дека во еден куп на различни начини.
Вие ќе сакате да се погледне во него од страна на кој пишувал кој пост,
од кои добиле кој пост, можеби преку денот кога тие беа испратени.
Но, ако ви се случува да го направи тоа со датум, тогаш ќе треба да додадете уште еден терен за да вашиот пост
кога тоа беше всушност испратени.
Овие 2 фактори - она ​​што податоците кои сакате да ги користите и како сакате да ја видите -
треба да се размислува за нив во прв план, бидејќи тие се зависни едни од други,
и тоа се случува да биде уште потешко да ги додадете подоцна.
>> Постојат некои други размислувања.
Кога сте размислување за тоа како да се справи со модели на серверот
она што го сакате да се погледне во е -
вие во основа сакаат да направат сервер едноставно како е можно.
Прави работи на клиентската страна, е генерално многу побрзо ако може да го направи тоа чисто од клиентот
без да правиш било кој вид на мрежа барање.
Идејата е да се направи како што многу од прашања како што можеш на клиентот.
Единствениот проблем со тоа
е дека ако побара сите на вашите податоци на почетокот
тогаш тоа ќе трае долго време да се вчита.
Значи, идејата е да се направи среќен медиум меѓу немањето доволно податоци за клиент
што можете да направите поголем дел од вашата работа таму, но не само преземање на сè одеднаш
така што ќе добиете навистина бавно вчитување пати на почетокот.
На пример, за вашата мачка податоци
најверојатно ќе сакате да го пренесам еден куп на последните ѕид мислења.
Ти не би сакал да ги добави сите од нив, бидејќи тоа може да се врати за неколку години.
Но, вие не сакате да ги пренесам едно по едно време
затоа што тоа ќе се воведе многу од мрежа над глава.
>> Тоа е често прилично тешко - еднаш имаш базата на податоци работи -
тоа е често прилично тешко да се промени она што податоци кои ги имате во него -
тоа е, да додадете нова база на податоци колона или нешто -
така една добра стратегија е всушност само да го задржи многу од вашите податоци во текст капе -
на JSON дупка - JSON е да го вклучите Javascript објект Нотација -
Причината поради која е корисна е затоа што тогаш можете да додадете нови својства
на сите овие JSON грутки без да се менува вашата база на податоци.
Единствената лоша работа за тоа е дека ако имате еден куп на полиња
кои сте ги додале подоцна - како скриен во таа JSON дупка -
тогаш тоа е потешко да ги пребарува во базата на податоци.
На пример, ако подоцна - ако сте имале вашиот пост модел кој зборувавме претходно
само со авторот, примателот и текст -
Можете исто така би можеле да имаат JSON дупка, а потоа ако подоцна си сакал да додадете поле со датум
вие не би имале да ја смените вашата база на податоци.
Вие може само да дополнат датуми во целиот текст полиња.
А потоа ќе бидете во можност да се погледне во оние на клиентската страна,
но вие не ќе биде во можност да ги пребарувате на страната на серверот
бидејќи тоа е скриен во внатрешноста тој текст.
>> Од друга прашање што сакате да се размислува за
е како вашиот клиент и вашиот сервер се случува да комуницираат.
Што обично сакаат да се задржи овој толку едноставно како што е можно повеќе.
Вие само може да има како се-ми-ова барање на податоци,
на создаде-а-нови-објект работа, и барање за ажурирање-на-стар објект.
И овие сите ќе бидат различни адреси на серверот дека -
дека прелистувачот ќе - можете да го користите AJAX барања за сите овие
и или примате или пост на податоци.
Повторно, за нашата Мачка Фејсбук пример,
можете да го имаат тоа рачно да се добие поединец пост,
и ќе треба URL за создавање на нов ѕид мислење
а можеби и рачно за да се постават на вашиот профил слика, работи како што.
Но, повторно, тоа е да се пред-пренесам повеќето од вашите податоци, така што ќе не мора да се задржи
правење мрежа барања.
Од таа причина, вие не би сакале да го имаат тоа индивидуални добијам барање за еден пост,
и наместо тоа само би сакал 1 добијам барање за целиот ѕид.
А потоа ако сте се обидува да се направи рамнотежа затоа што -
ова е исто така, ќе зависи од вашата апликација.
Бидејќи ако сте очекуваме дека луѓето имаат само 10 или 20 ѕид мислења
дека ќе биде во ред.
Но, ако сте очекуваме тие ќе имаат илјадници тогаш тоа барање ќе трае премногу долго,
и така можеби ќе сакате да додадете добие-сите-пораки-од параметар.
>> За сите овие ти си веројатно ќе сакате да ги синхронизирате вашите податоци во JSON -
Го вклучите Javascript-објект нотација.
Доста секој јазик се занимава со JSON многу добро.
JQuery има оваа убава getJSON функција која ќе направи сето на напорна работа за вас.
И на PHP таму е исто така многу убаво JSON комуникациски функции.
Значи, тоа е веројатно најдобар формат за испраќање на вашите модели и назад.
>> Како пример на она што го зборуваше за досега,
еве еден пример на проток за вашиот Cat Фејсбук апликација.
Тоа почнува со вашиот интернет пребарувач бара база URL на веб страната.
Серверот, најверојатно, ќе испрати преку статичен HTML, а некои го вклучите Javascript и CSS.
Тоа е обично најдобро да се направи било рендерирање на серверот.
Најверојатно не сакаат да -
она што серверот не прави таму се случува долу на листата на ѕид мислења
и генерирање на некои HTML за секој од нив и испраќање дека готово.
Тоа е обично најдобро да го направите тоа на клиентската страна, затоа што во спротивно
секој пат кога ќе сакате да го ре-нацрта нешто, имаш да се направи серверот барање.
И дека многу брзо ќе дава многу над глава.
Тоа е обично најдобро само да брод праќа одредување статични HTML
а потоа да го вклучите Javascript и CSS кој ќе го направи рендерирање на клиентската страна.
Штом тој звук доаѓа во,
тогаш може да има - во вклучите Javascript - можете да го направите барања за ѕидот податоци
и работи како што, и после тоа серверот е во основа, само прави база на податоци пребарувања
и проверка на дозволите.
Единствената важна работа е тоа што не може да се испрати преку некои други корисници ѕид мислења
дека не е дозволено да се види.
Тоа во основа може да биде многу тенка пристап слој на вашата база на податоци,
а потоа сите на прикажување на податоци - сите погледи и работи -
оние може да се случи во вашиот интернет пребарувач, а потоа кога сакате да направите еден пост или нешто
едноставно се испратат уште еден барање.
>> Има и некои фенси нешта што можете да направите на врвот на тоа.
Во однос на повеќе специфични технички информации,
развој во обичен вклучите Javascript-може да биде малку болна,
па така постојат некои библиотеки и алатки кои ќе ви помогнат многу со тоа.
Мислам дека сте сите веројатно слушнале за jQuery што го прави прави HTML рендерирање
и манипулација е многу полесно - имаме многу фенси функции за одѕвонуваше во и надвор,
и прави енергичните анимации.
Постои, исто така оваа библиотека наречена Underscore.js.
Таа има многу корисни корисни функции, нешто што би очекувале JavaScript за да имаат
дека тоа навистина doesn't - работи како довлечкаа низа,
отстранување на дупликати од листата, или изедначување листа на листи.
Ова е само еден мал кодот примерок.
Црта има еден тон на овие убави функции кои сакате вие ​​ќе треба цело време.
>> А потоа, тука е повеќе 1 библиотека која би сакале да потрошат малку време за
наречен Backbone.js бидејќи 'рбетот навистина ви помага да се справи со модели на клиентската страна
и многу забуна дека може да предизвика.
'Рбетот ти дава овој концепт на модели и колекции
во JavaScript кои се во основа точно како го вклучите Javascript-објекти
во JavaScript низи, но тие имаат за настани кога сте го сменат својствата.
Исто како и во JavaScript, може да имаат кога копчето добива кликна или нешто
овие 'рбетот модели и' рбетот колекции ќе емитува работи како
дека кога тие промени.
Тоа значи дека можете само да се напише нешто како овој код овде -
Таа вели, секогаш кога ќе додадете нешто на мислења низа ќе ја прецрта целиот ѕид.
И ова би рекол секогаш кога бројот пост на вакви промени,
ќе го извести корисникот дека некој се допадна својот пост.
Или секогаш кога било сопственост на еден пост промени можете прецрта пост.
Работи како што ќе те спаси тони на сложеност затоа што во спротивно
ако немате некои рамка како ова, тогаш секој пат кога во вашиот код да го промените
ништо за еден пост, ќе треба да се запамети себе си да се јавите сите прават функции
и работи како што, и ако си сакал да додадете нешто ново што се случило
секој пат кога ќе модифицирани пост ќе треба да поминат низ секое место во вашата
код кој пат е изменета на пост и додаваат дека нова работа.
А рамка како ова ќе го отстрани многу од тоа меѓу-слој комуникација
што го прави вашиот код сложени и тешко да се задржи.
>> Има малку за ставови, исто така.
Одам да ја напушти поголемиот дел од овој Били, бидејќи тие се технички не е многу тешко.
Го користите jQuery за вашите ставови. Тоа е практично како неопходност во овој момент.
Тоа само прави сè што многу полесно.
Постојат голем број на библиотеките.
Ако имате комплицирани кориснички интерфејс елементи,
ако сакате авто-заврши работа или како еден од оние фенси мулти-селектори -
ако сакате нешто слично, треба да веројатно само пребарувате низ
и можете да најдете добра библиотека која ќе го направи она што го сакате.
Били ќе објасни повеќе за всушност тешко делови од ставови.
Исто така, како од страна на белешка, 'рбетот има некои функционалност за правење пати комуницираат
убаво со модели - се погледне на документација за сите овие библиотеки, всушност.
Само погледнете во Docs. Тие се многу добро напишана и лесно да се следат.
Во принцип, можете да доста само на Google ако имате проблеми.
Постојат голем број на луѓе да ги користите.
Мислам дека ова е како финален белешка.
>> Исто така има и некои понапредни работи што можете да направите
ако сте во потрага да се направи вашиот веб стан дополнителни неверојатна.
Можете да го направите - новиот HTML5 спецификациите има многу фенси работи што можете да направите.
Локалните складирање - што е може да се сместат податоци во прелистувачот -
наместо да се вратиш назад и внимателно серверот за сè,
може да се задржи некои од нив на клиентот и дека дури и им овозможува на луѓето -
во некои случаи дури може и да ти користи веб страница офлајн.
Има тоа нешто наречено websockets кои се поинаков вид на мрежна комуникација
каде наместо само да се направи едно барање, ќе добиете одговор и ќе завршиш,
ве отворите конекција со серверот и за да можете да ги правите нештата како
во реално време ажурирања.
Значи, ако се обидува да се направи разговор стан, можете да го користите websockets
да комуницираат и назад, така што ќе не мора да се задржи барање,
"О, серверот, дали некој ме испрати на разговор?" на секои 10 секунди или така нешто.
Таму е исто така интересна HTML5 функција, каде што може да се направи да изгледа како
URL-то на страница се менува без воопшто да имаат за да всушност ја превчитате.
Можете да го користите напред и назад копчиња, без да прави еден куп на мрежа барања.
Работи како што е навистина корисно во смисла на правење тоа брзо, но, исто така, работи како веб стан треба.
>> Таму е исто така тоа нешто наречено CoffeeScript.
CoffeeScript е различен јазик, всушност, дека подготвува надолу за да го вклучите Javascript-.
Ќе напише сите ваши кодот во CoffeeScript, а потоа ќе ја извршите оваа компајлер,
и тоа плука го вклучите Javascript-датотека што можете да се вклучат во вашиот веб страница.
Причина што CoffeeScript е убаво е затоа што тоа добива ослободи од многу од
чудни случаи дека го вклучите Javascript има каде еднаква на еднаквите,
и изнесува еднаквите направите различни нешта, или допаѓа -
има поубави синтакса за справување со низи и функции.
Ова е малку програмка на CoffeeScript која произведува листа на сите плоштади
од 10 ^ 2-1 ^ 2 во обратен редослед.
Како што можете да видите, CoffeeScript често ти овозможува да изразат во 1 линија
што би биле потребни 5 линии на JavaScript.
Тоа може да се направат нештата многу полесно.
Тоа е малку на нови синтакса за да дознаете на прв,
но тоа дефинитивно ќе ве натера да попродуктивни во долг рок.
>> Можете исто така да користите други јазици на серверот од PHP -
јазици, како Ruby, Python, или има дури и проект наречен node.js
која ќе може да се користи JavaScript на серверот.
Лично, јас, навистина, навистина мразат PHP.
Јас само не уживате во работата со него.
Ако, исто така, мислат дека тоа е страшна cluge на јазикот,
тогаш можете да користите една од овие наместо тоа.
Во принцип, ако сакате да се направи нешто и ти навистина не знам како би го сториле тоа,
едноставно пребарување на интернет.
Постојат тони и тони на ресурси, особено на -
StackOverflow е одлично.
Тоа е овој веб-сајт, каде што на програмерите прашам едни со други прашања.
Може да се кандидира во тоа ако сте биле има проблеми на CS50 проблем комплети.
И постојат тони на библиотеки за тоа доста нешто што би сакал.
Ако сакате да се направи нешто, а ти не знам како да го направи тоа,
не претпостави дека тоа е невозможно.
Само погледнете наоколу и можеби ќе се најдат некои добри ресурси.
>> Како општо заврши,
главните takeaways се задржи нешта едноставно.
Посложени вашиот код е на почетокот
и колку повеќе ќе се обиде да направи фенси нешта,
толку подолго ќе потрае да се добие нешто навистина функционални
и потешко ќе биде да се промени подоцна.
Значи, се прават работите на неми, лесен начин во прв план.
Да се ​​оди заедно со тоа,
не плаши се фрлаат далеку стариот код или чистење до тоа многу.
Во принцип, кога еднаш ќе ве всушност имаат нешто работа,
тоа е многу полесно да се размислува за, отколку кога сте се уште во почетокот фази
за тоа како да го ставам сето ова заедно.
Тоа е најдобро да се направи најглупавата можно дизајн кој работи
а потоа ја подобриме iteratively отколку обидот да се добие сето право за прв пат.
Во однос на клиент-сервер поделба, обидете се и да ја задржите вашиот сервер многу едноставна -
само на база на податоци и некои автентикација и не го сторат било напорна работа таму.
Се направи сите ваши комплицирани работи на клиентската страна, во прелистувачот
во JavaScript колку што можеш.
Погледнете наоколу за библиотеки, кои го прават животот подобар.
Секогаш е подобро да се користи кодот кој некој друг го напишал
ако вас - и да не го пишуваат сами.
Има многу работи на интернет. Google е вашиот најдобар пријател.
Google е најдобар пријател на програмерот.
Да, дефинитивно не се плашете да погледнете наоколу за нешта.
Во ред е. И во текот на Били.
>> [Били] Всушност, пред да почнам со некои дизајн работи,
не секој имате било какви прашања за бен за нешто што тој зборуваше за?
Добро.
Повторно, ги споделите со нас ако ништо друго не е јасно
или ако сакате нас да одиме над нешто малку повеќе.
Одам да се чекор назад малку и да разговараат за повеќе основни делови на дизајнот.
Бен спомена модел наречен - Жал ми е, моделот контролер видите систем
кој е вид на технички аспект, па ќе одам да се погледне на пати конкретно,
и јас одам да започне со тоа како би се дизајнира ставот дека изгледа убаво.
Тука е вид на навистина основни дефиниција за нашата Мачка Фејсбук.
Мислам дека постојат некои основи во модерната адаптери дизајн
кои се во вредност подигање.
Можете да забележите дека е многу бели простор целиот страница,
многу простор за нештата.
Не се чувствувам како што треба да ја стишат работи во една страница.
Сакате да ја оставите многу простор отворен, и ако одите на речиси секој модерен веб-сајт
ќе видите таму е бело насекаде.
Има бело во места каде што можете не би очекувал.
Имате овој палета на бои, а тоа е мудар на почетокот
да се избере палета на бои кои ви се случува да работат со и се развива.
Можете исто така - тоа им помага да се избере фонт, и на тој начин си вид на работа со
овие конкретни основи на проектирање.
Имате вашиот тип, имате бои, а потоа можете да вид на
собере сè друго во што е потребно.
Значи, како што реков, со вашата шема на бои што сакате да го користите посмели бои на вашата шема на бои
повремено. Хедери се убаво. Копчињата се убаво да се имаат навистина голем, упадливи бои.
Но, во принцип, ако имате веб-сајт кој има бои насекаде,
сите гледаш во лице, тоа само изгледа преполни, а тоа не е добро.
Сакате да генерално се користат светли бои.
Обидете се да се, повторно, изберете прилично кохерентна шема на бои.
Можете да имаат овие мали капки на многу боја -
што може да изгледа прилично убаво, но сакате да ги користите прилично повремено.
>> Како што реков, дека сакате да биде минимална. Помалку е скоро секогаш повеќе.
Ако можете да покажете нешто или не се прикаже нешто,
и ти си вид на сигурен дали тоа треба да биде таму по правило -
веројатно сте најдобри оставајќи го ова. Секогаш може да го додадете во подоцна.
Да, да ги задржи нешта едноставно.
Но што е најважно, ќе сакате да се разгледа повеќе дизајни.
Не мислам дека кога ќе се направи сајт, можете да го имате во вашата глава дека си оди за да
направи сајт на одреден начин, и тоа се случува да изгледа токму вака.
Тоа се случува да имаат сини насловот на врвот и сини страна бар
а потоа жолт под-насловот работа.
Вие сакате да бидете повеќе шаблони.
Можете или - ако сте добри со слика магазин, можете да ја отворите дека и вид на
дизајн веб-сајт што сакате да се погледне.
Ако не, вие само може да се користи пенкало и хартија,
но нула до повеќе дизајни.
Сакате да во основа имаат постави каде што имате многу различни дизајни,
и ако некој завршува работа, тогаш тоа е одлично.
Ако еден завршува неуспехот, тогаш вие секогаш имате уште еден да се сврти кон.
Во принцип, не се чувствуваат како тебе треба да бидат ограничени
на она што дизајн што првично одлучи за.
Дизајни се многу променлива, и дел од важноста на модел
Контролорот поглед систем е тоа што можете да го трампа во и надвор различни ставови сакате.
Можете да се нишаат на податоци на еден начин, а потоа да одлучи, ох, всушност, тоа не функционира тоа добро.
Мислам дека тоа е вид на премногу комплицирано или има дел овде, тоа не е навистина работат,
па јас сум само ќе целосно се откаже овој поглед и swap во сосема нов.
Ние се уште може да се користи на старите модели и стариот контролери.
Ние можеме да правиме се што е на серверот и клиентот како што би порано.
Но, вистинските бран на податоци, како на екранот ќе биде малку поинаква.
>> Колку што е всушност имплементирање на дизајн сакате,
еднаш имаш неколку дизајни скицира надвор на хартија или на Фото Шоп или што и да,
постојат голем број на алатки кои се достапни за вас.
Првиот сте многу запознаени со кој е вашиот HTML, PHP, или што
јазик го користите само да се кодот на статични страници на вашиот сајт.
Сте работеле многу со HTML кој вид на ви дава овие тагови
дека може да се стави работите во, и во основа тоа е начин на организирање на вашата содржина.
На пример, имате насловот таму, па си оди за да имаат насловот ознака,
и тоа се случува да имаат некој текст во него што е веројатно нема да биде во друга ознака.
Тогаш имате можеби лента со некои различни врски,
и оние кои се случува да се сите да бидат во одделни ознаки.
Значи, во основа HTML во своето срце е начин на делење на страница како
ти на крајот сакате да ја форматирате.
Па уште еднаш, сте виделе дека порано.
Ти си прилично удобно со работа со тоа сега
со оглед на тоа што сте го направиле во последните pset се надевам,
така што не треба да биде проблем.
>> Тогаш ќе мора CSS што во основа се справува со сите дизајн статични аспекти.
Тоа ќе се справи со сите бои, сите од поставеноста на различни елементи,
каде што оди во однос еден на друг,
колку е голема се тие, различни видови на позиционирања дека ќе имаат -
со други зборови, можете да работите се фиксни, така што кога ќе дојдете долу тие ќе останат,
или може да имаат работите во однос на другите елементи.
Сите тој вид на работи е во CSS.
Покрај тоа, можете да направите различни декорации, можете да имате текст бои,
текст ефекти, сето тоа вид на работи.
Бен даде навистина добра семинар на оваа минатиот викенд,
и така јас дефинитивно ќе провери дека надвор ако планирате да се прават некои фенси работи со CSS.
CSS3 е, всушност, најновата верзија на CSS, и што може да направи сите видови на навистина убави нешта.
Што може да направи градиенти, вие може да имате убаво, заоблени агли; можете да го направите сите видови на работи
да се направи вашиот сајт изгледа повеќе модерно и фенси.
>> Следниот алатка е да го вклучите Javascript и jQuery кој бен зборуваше малку за,
но јас ќе добијам малку подалеку во.
Го вклучите Javascript-, како што сте работеле со него малку, или барем го видела тоа во предавање,
е вид на начин на динамички прави работи во HTML.
HTML, како што знаете, е статичен, па штом ќе имаат HTML не можете да го менувате.
Но JavaScript, на некој начин, е начин да се биде во можност да менувате HTML.
Па можете да го стори тоа, и тоа е одлично, но да го вклучите Javascript навистина е болка да работи со.
Тоа е толку долго и тапи и да се направи дури и наједноставните работи
бара многу линии на JavaScript.
Значи, jQuery е во основа библиотека за JavaScript, кој го поедноставува сето тоа.
Таа вели дека, во ред, ако сакате да имате плоштадот кутија доаѓаат од левата
и се појавуваат во страница, така што тоа е во средината, во JavaScript, кој ќе ја преземе -
Не знам, сто линии да се направи, и тоа ќе биде болка,
и ќе излезе од неа мразеше сè за веб програмирање.
JQuery вие во основа имаат елемент-точка-бледеат-во, или нешто слично.
Значи, многу, многу едноставни функции, кои ќе ви овозможи да направите сите видови на кул анимации
и тој вид на работа.
Од друга работа што овие 2 се навистина добри за е само прави динамичен работи
со веб-сајт.
Значи, наместо само ја вашата HTML страница - која го прикажува некои податоци, но всушност не
направи нешто - вклучите Javascript-и jQuery ќе ти овозможи да имаат копчиња кои можете да кликнете на,
и можете да влечете елементи и повторно цел нив и подредување на нив, и имаат нови елементи
додаде или отстранети. Можете да додадете-бриши, тој вид на работа.
Значи, jQuery го прави тони кул работи.
И Vipul е, всушност, давајќи семинар на тоа денес, верувам, на 5-часот,
па ако може да се држи околу за која долго време, тоа би - 5 или 4?
Четири. Жал. Тоа е всушност веднаш по ова, па јас ќе им препорачаат
се држат околу за него, ако можеш.
JQuery е супер, супер корисни, и ќе бидете во можност да се направи многу на навистина убави работи со него
за доста било која веб-проект за развој.
>> Сега ќе одам да се влезе во вид на разлика.
Сум се зборува во основа за кориснички интерфејс.
Корисничкиот интерфејс е само дизајнот на сајтот.
Но, има еден вид на друг концепт кој е корисничко искуство.
Двете се многу различни.
Интерфејсот е дефинитивно дел од искуството.
Со други зборови, кога ќе отидете на некој сајт, да се погледне на интерфејс.
Тоа е дел од тоа како имате на овој сајт.
Но корисникот искуство е повеќе од тоа.
Корисникот искуство е за тоа што впечаток дека корисникот добива од вашиот сајт е.
Значи, очигледно, интерфејсот е дел од тоа.
И тоа е дефинитивно неопходен дел, но тоа не е доволно.
Со други зборови, ако имате убав интерфејс, а тоа е убава и шарени и сето тоа,
тоа е одлично, но ако корисникот оди на вашиот сајт, гледа прилично распоред и тоа е збунет од
сè, нема идеја како да се направи нешто, тогаш очигледно сте направиле навистина
сиромашните веб-сајт.
Тоа е вид на каде што корисникот искуство влегува внатре
Одам да се зборува малку за UX дизајн - UX е краток за корисничко искуство -
и вид на како можете да бидете сигурни дека ќе имаат добра корисничко искуство.
Првата точка е дека може да дизајн веб-сајт каде што корисникот може да направи нешто што
што корисникот можеби сака.
Но, ако корисникот не може да дознаам како да се направи тие работи -
со други зборови, ако корисникот не имаат добра идеја кога одат на вашиот сајт за,
"О, ако сакам да се ажурира мојот профил, тогаш јас кликнете на ова копче, или ако сакам да ја објавите на
некој ѕид, а потоа одам во ѕидот и ќе кликнете на мала кутија. "
Ако корисникот не знае тоа, тогаш ќе можат ефикасно да имаат всушност не
спроведува таа функционалност правилно.
Дел од спроведувањето на функционалност е дека корисниците се во можност да го користам.
И тоа би можело да биде фрустрирачки - вие може да се направи сајт, и што може да направи сите видови на
прекрасни работи, но тогаш ќе има луѓе што се тестира и да се каже, "Тоа не може да го направите тоа.
Зошто не можам да го направите ова? "И ќе каже назад кон нив,
"Па, тоа може. Вие само треба да одат во 7 опаѓачкото мени на овој нејасни
страница, која само што е пронајден од страна на линкот на дното-десен агол "или нешто слично.
Очигледно, вие не сакате тоа.
Сакаш таа да биде јасно да вашите корисници што тие би требало да се направи,
и треба да биде едноставен и интуитивен за нив.
>> Друга работа која сакате да се обидете да направите е да, ако некој се случува да одат на вашиот сајт
и 9 од 10 пати го стори акција А, и 1 од 10 пати го стори акција Б,
најверојатно сакаат да се фокусираат нивното искуство на акција А
Со други зборови, сакате да се направи тоа многу, многу јасно како да се направи А
А треба да биде пред-и-центар - отидете на сајтот, видете го; ох, тоа е право таму.
Додека Б очигледно сакате да биде јасен, но можете да го оставите малку повеќе
во позадина.
Дејвид дава добар пример за тоа во предавање,
кое е Бостон T систем.
Кога ќе отидете на Бостон T и сакате да се купи билет,
мора да се добие во 5 менија пред навистина да сте да ги купите билет
за $ 2, $ 2,50 вредност, која е колку што е потребно да се прошетаат на метрото
во една насока.
Тоа е проблем, бидејќи повеќето луѓе кои се возат во метрото
веројатно само сакаат да одат на едно место, купи билет, се на веднаш.
Тоа не дава никаква смисла дека тие мора да одат низ многу различни менија
да одам таму.
А подобро корисничко искуство ќе биде брзо копче на првата страница
дека само вели, "купи билет во еден правец", и дека ќе се стави во сите стандардни
стандардните вредности, а потоа, ако некој сака да купи различни билет од тоа,
тие, сепак, се разбира, имаат можност да, но сте оптимизиран за
заеднички употреба случај што е навистина важно.
Можете да видите примери на овој на Фејсбук, нели?
Ако одите на Фејсбук и дека сакате да го поставите статусот,
тоа е правото на врвот што е она што често сакаат да се направи.
Веднаш штом ќе влезат на страницата, можете да направите од најчестите нешта кои
сакате да го направите.
Ако сакате да го направите малку повеќе комплицирано вакви работи,
кажам дека сакаат да одат на ѕидот на мојот пријател и ја објавите сликата на него -
кој ќе сакате да го направите често, но не толку често колку што објавувате статус надградби -
па во тој случај, јас тип своето име во полето на врвот, кликнете на нивниот профил,
а потоа, сепак, тоа е правото на врвот таму еднаш сум добил до профилот.
Повторно, јас сум оптимизиран приоритет за најчестите употреба случаи.
>> Друга важна работа е дека често луѓето вид на ќе се обидат да се добие околу ова
со зборовите: Океј, па јас направив сајт и луѓето се најде е збунувачки,
и тоа е проблем, нели?
Очигледно, не сакам луѓето да бидат збунети од содржината на мојот сајт.
Но начинот на кој да ги реши тоа не е да се има нешто да pop-up велејќи:
еј, јас ќе одам да ви учат како да го користите овој сајт.
Чекор 1 - кликнете на ова копче. Чекор 2 - одат овде.
Секако, тоа е начин да се заобиколи тоа - тоа е начинот на кој можете да им кажете на луѓето што да прават, но тоа е
навистина не е оптимален начин.
Ако одам во веб-сајт, и одеднаш јас сум бомбардиран со овој туториал кој е ми кажуваше
што да прави и каде да одиме и сето тоа, тоа не е забавно за мене.
Тоа не е добро искуство за мене.
Тоа е вид на болка. Сакам само да почнете да правите нешта.
Луѓето се случува да се затвори на нивните дијалог прозорецот,
или да добијат на туториал не, знаат што да прават, а потоа се жалат, бидејќи
не сте ги кажува што да правам.
Начин да се реши ова не е со давање на секаков вид на туториал или насоки -
такво нешто.
Колку што може да се избегне тоа, навистина сакате да се покаже на корисникот што да прави
само поради природата на тоа како веб-сајт е поставен надвор.
Со други зборови, ако одам на Facebook без влезете во,
првото нешто што го гледам на главната страница -
тоа е малку најава кутија. Значи, Duh. Јас прво да се логирате.Ако Тоа е право таму.
Каде што, ако отидов на Facebook и морав да кликнете на малку линк на дното
дека рече: "најавите и остатокот на страницата е само некој вид на слика или нешто,
Јас навистина не знам што да правам, нели? Јас би да се мешаат.
Значи, тоа би можело да ми каже да одат таму долу и кликнете на копчето за да се логирате,
или влезете во копчето може да биде право на врвот каде што ќе одам да ја видите.
Сакате секогаш да бидат прикажани на корисникот што да правам,
и дека треба да биде својствени на самата страница.
>> Кога сте размислување за дизајн и потсмешлив до различни начини на
изразување на вашиот сајт, навистина сакате да се размислува за она што корисниците се случува да
се прави и како можете да ги покаже што да правите.
Едно последно нешто е тестирање е навистина, навистина важно.
Тоа е одлично да се добие некој - да се добие пријател, се некој што не го знаат дури и -
кои никогаш не се гледа на местото пред да се користи сајт.
Бидејќи сте биле работат на сајтот за часа, сте биле свртени кон него,
и знаеш точно што да правам па очигледно ви се случува да биде тестирање на
работите кои сте биле работат на и знам дека сте на работа.
Но, ако некој друг доаѓа заедно и ја користи сајт кој никогаш не го користеле порано,
тоа е уникатно искуство, бидејќи имате некој кој има никакво претходно знаење
на сајтот случува во неа, па тие ќе треба ефикасно без идеја што да прави
или каков вид на употреба случаи се присутни за нив.
Тоа е одлично. Што е уникатна, бидејќи тие се во суштина едно лице со празно за умот.
Тие може да ви каже ако нешто не е збунувачки или нејасни.
Тие може да ви даде идеја за токму она што корисникот искуство на вашиот сајт е.
Тоа може да биде многу тешко да се каже дека сами, па дефинитивно би ве охрабруваме
како што се развивање на вашите проекти - ако сте го прави веб-базирани проекти -
да се добие луѓе со користење на сајт како што е рано како што имаат некој вид на функционална демо.
>> Сега ќе одам да се зборува малку за тоа како да управуваат со веб-проект за развој.
Ние сме поминале околу тоа како можете да го направите технички back-end страна,
Како можете да го дизајн навистина добар сајт,
и тоа е одлично ако си работат со себе, но -
дури и ако си работат со себе и особено ако си работат на тимот,
Проектот за управување станува голем проблем.
Сте вид на слушнале за управување со проекти во различни форми од
основно училиште, кога ќе им беше кажано групна работа.
Што треба да соработуваат, комуницираат, сето тоа.
Дека сите се уште важи овде, но постојат некои уникатни околности со
компјутерски науки што сакате да бидат свесни за, и вие сакате да бидете сигурни дека да се справи добро.
Ќе се зборува прв малку за тимот кој ќе биде внатре
Тоа е многу важно да се избере вистинската големина на еден тим да се работи,
и во вашиот конечниот проект мислам дека имаш опција да изберете
помеѓу 1 и 4 лица ако сум точно.
Вие сакате да бидете сигурни дека не сте само изборот на бројот на луѓе
што сакате да работите со, бидејќи тие се вашите пријатели.
Сакате да изберете еден тим тоа е добра големина и дека ќе одам на работа.
Има пласирам во кои имаат повеќе луѓе наспроти помалку луѓе.
Ако имате повеќе луѓе, очигледно повеќе работа може да се направи
затоа што имаат многу луѓе, многу код, многу идеи,
и тоа е одлично.
Но, тоа, исто така, бара многу повеќе за управување и многу повеќе комуникација.
Со други зборови, ако имате 4 луѓето кои работат на истиот проект
и тие се сите уредување на истиот код, повеќе или помалку, сите тие вид на потреба да знаете
она што се случува, така што бара од вас -
ако додадете некои нови функција можете вид на треба да се каже на луѓето - Јас сум додавајќи дека ова,
Јас сум менување на овој на овој начин - особено ако се влезе во навистина длабока работи
како модели и контролори кои се всушност ќе влијае како на страницата дела.
Целиот тим треба да бидат свесни за тоа,
така што треба да бидете сигурни дека не сте изборот премногу голем тим кој се случува да биде тешко
да се направи таа комуникација.
Можете исто така не сакаат да се избере доволно мал тим кој вие нема да
бидат способни да комуницираат, бидејќи тоа е само вас.
>> Друга работа е да се разгледа состојбата на каде вештини на луѓето се.
Тоа е прекрасно, ако вие ќе бидете сите навистина добри програмери.
Но, ако сте сите back-end луѓе, тогаш вашиот сајт е нема да изгледаат многу добро
затоа што ја имаат оваа голема база на податоци, и тоа го прави супер-брз пребарувања -
што е одлично - но кога ќе одам до него, тоа е како еден сајт 1990 со црвена и сина
насекаде, и тоа не е добар.
Забележете дека Бен и јас работат како тим се многу убаво, бидејќи јас сум вид на повеќе
во предниот крај, ние двајцата да комуницирате во средината-крајот, и Бен е навистина добро со back-end работи,
така што работи навистина добро, бидејќи ние можеме да дизајнираме било кој сајт и во основа дупки
во таа веб-сајт што треба да бидат пополнети може да се полнат од било еден од нас, или можеби и двете.
Вие сакате да бидете сигурни дека не постојат дупки во вашиот тим.
Тоа е во ред, ако има малку се преклопуваат.
Со други зборови, ако имате 2 луѓе кои се и добри со задниот крај,
кои можат да бидат добри, како и бидејќи тие можат да си помагаат едни на други со проблеми
дека тие имаат.
Тоа може да биде проблем ако имате само 1 човек кој е одговорен за одредена работа
и тие наиде на проблем, па вие не сакате да имате малку се преклопуваат
но вие најважно сакате да бидете сигурни дека сите можни дупки се пополнети.
>> Последно нешто - и ова треба да биде очигледна, но тоа е често не.
Дали навистина сакате да се забавувате.
Поентата на оваа финалниот проект во CS50 и често точка на веб развојот во целина
не само да се направи работа, бидејќи таа треба прави.
Дали навистина сакате да се забавувате, а вие сакате да се прави нешто
тоа ти мотивирачки да работат на тоа.
Ако она што го правите е болка да седнат и да работат на,
тогаш вие не сте изборот на вистинскиот проект.
Сакате да изберете нешто што ќе најдете интересни,
Дали навистина сакате да ја видите резултат на тоа, ти си возбуден кога ќе добие нова идеја за
нешто што може да го направи - да има на сите видови на проекти таму, кои сигурен сум дека
можете да најдете - секој има нешто што навистина ќе ги интрига
ако го правиш веб базирана на проектот.
Јас ќе го кажам уште еднаш, токму сега.
Ако вашиот проект изгледа како болка и не сакате да работат на тоа,
изберете друг проект. Изберете нешто што навистина ве инспирира.
>> Бен споменати на овој концепт на повторување малку, и јас сакам да одам над неа малку.
Тоа е навистина важно да се работи испрекинато каде ќе се добие нешто функционален.
Тоа може да биде прекрасно, ако имате овој план за веб-сајт кој ќе направи А, Б, и Ц,
и на крајот тоа ќе одам таму.
Но ти си заглавен во оваа фаза каде си работат на него и работат на тоа,
но ништо не е добивање направено. Вие не треба ништо да се види и опиплива, функционални работа.
Она што навистина сакате да го направите колку што чини вид на болка понекогаш да
работат на нешто, а потоа вид на тоа капа надвор, така што тоа е барем стабилна, трчање
верзија дури и ако тоа не ги имаат сите карактеристики што го сакате.
А можеби има некои карактеристики што навистина сакате да го додадете, но едноставно не може да
затоа што сакате да се добие оваа страна во функционална точка.
Па така сакате да се вид на имаат целиот процес на развој изгледа тоа.
Дека сакате да го започне некаде функционални - или во суштина се започне со ништо -
но сакате да се добие некаде многу основни и функционални.
А потоа, повторно, направи еден вид на скок и се некаде функционални повторно.
Ти полека ќе се изгради, и тоа може да оди малку побавно отколку што би поинаку,
но на долг рок, ако сте постојано заглавени во оваа средина фаза, каде што
не, всушност имаат нешто работи, таа може да биде навистина голема фрустрација
да работат на вашиот проект, бидејќи ти си секогаш толку блиску до добивање на тоа да работи,
и тоа е всушност никогаш не работат.
Ќе сакаат да работат во овие функционални испрекинато,
и ти исто така ќе сакате да направите некои размислување по секој од нив.
Со други зборови, откако сте на точка каде што сајт е сега работат -
тоа не мора се што ви се допаѓа, но тоа го прави некои работи -
ќе сакате да се размислува, во ред, е овој сајт постигнување на целта дека јас изнесени да направам?
Со други зборови, ако сајт се случува да се направи Х, е она што го работат во насока на X?
Дали сите функционалности што сакав таму?
И згора на тоа, се служи на Севкупната цел што сакам?
Ако сте утврди дека вашиот сајт ќе почне да изменета на курсот во поинаква насока
или можеби работите само вид на се не работат надвор, тоа може да биде време да се префрлат брзини малку.
Со други зборови, тоа е вреди да се размислува - тоа е вреди да се исфрла идеи ако е потребно
и со оглед дали навистина работат кон она што сакате да биде.
>> Мислам дека тоа е мојата следна точка. Не плашете се да се откаже од идеи.
Само затоа што поминал многу часови работат на функција
и конечно доби таа работа, но тоа навистина не се случува толку добро -
како тоа не е толку корисна или корисниците имаат проблеми со користење - тој вид на работа -
не плашете се да го фрлите.
Тоа смрди дека си трошат многу време работат на тоа,
но во крајна линија не сакате еден сајт кој е вид на се стави заедно со овие парчиња кои
вид на работа, но не се толку добро служи.
Исто така, не се плашете да ги прифатат новите идеи.
Ако некој доаѓа заедно и вели, еј, овој сајт изгледа навистина кул, но
не би го дури и да биде прекрасно, ако тоа, исто така, го направи ова?
Само затоа што тоа е нешто што не сте намера и нешто што не е на вашиот
очила, нешто што не сте го постави за да се направи,
не се плашете да ја преземат, а потоа работи со него.
Затоа што често идеи кои ќе ја стартувате со текот на курсот на развој
да заврши се навистина кул карактеристики на веб-сајтот.
>> Сум го рече ова порано. Јас ќе го кажам уште еднаш.
Тестери се супер, супер корисни.
Се обиде да добие луѓе кои никогаш не сум ја видел на веб-сајт пред да влезете во и да видиме што се случува
бидејќи тие не само што може да го тестира корисноста на сајт и корисничко искуство,
но тие исто така може да го тестира функционалноста на начин кој не можете да.
Ако направите некоја карактеристика која го прави одредена работа
и знаеш дека се случува да го направи тоа истото правилно секој пат, тоа е одлично.
Но, тоа често може да биде тешко да дадат отчет за агол случаи каде корисникот може да
напишеш нешто што не очекуваат - токму затоа што е дефинирано
карактеристики себе.
Значи, да имаат некој дојде на кој нема идеја како да се користи сајт
и само да го скрши во она што начини тие можат да прават е навистина корисно затоа што
добиете идеја од сосема поинаква перспектива на она што на вашиот сајт работи
и она што треба поправка.
>> Последно, јас ќе одам да се зборува за некои општи добри практики,
и сте виделе многу од овие во CS50, но тие, исто така, навистина, навистина се применуваат во поставување на проектот.
Една од нив е коментари. Секогаш коментира вашиот код, особено ако си работат на голем тим.
Тоа може да биде толку досадно да само имаат гигант блок од код кој некој е напишано
а можеби тоа функционира, можеби не е така, но немате идеја што го прави тоа,
па немате поим дали тоа е корисно или не или дали тоа треба да биде таму или не,
и ако си работат на нешто друго тоа е можно дури и дека си работат на
истото, па само да биде многу, многу внимателно да се биде внимателен на своите врсници
и пишуваат код кој е добро документирани.
Вие не треба да одат толку далеку што да се прави целата работа, каде што како ако прираст
контра имаат коментар во која се вели, јас сум додавајќи 1 на овој шанкот.
Тоа не мора да биде дека детални, но за било која функција што сте некогаш пишување
треба да имаат некои документација на она што таа функција точно значи,
она што нејзините влезови се, и она што треба да се врати.
На тој начин можете да го користите компоненти на сајт на другите луѓе
и можете да работите кон градење нешто големо.
>> Друга важна работа е дека сакате да направите редовно чисти прозорци.
Кодот добива неуредна. Не се чувствувајте лошо ако вашиот код е само сосема прочите и џиновски хаос.
Што се случува во веб развој секогаш.
Сте додавање на нови функции, отстранување на старите. Работи ќе биде таму, кои не треба да биде.
Тоа е во ред, но сакате да бидете сигурни дека да се справи со тоа редовно.
Вие не сакате да нека се изгради до точка каде што вие едноставно не можат да најдат ништо
во вашиот код, и немате идеја што ништо не.
Тоа е случај со HTML.
Понекогаш ќе се заокружи со предмети кои не содржат ништо,
и ќе сакате да се ослободите од нив.
Во CSS, можете да се однесуваат на елементи кои не се таму веќе,
па сакате да се ослободи од таа код.
Во JavaScript, можеби сте отстранети нешто од HTML.
Значи, вие сакате да бидете сигурни дека сте секогаш чистење, правејќи нешта прилично
колку што можеш, на редовна основа.
>> Уште една навистина корисна работа што јас не мислам дека е наведено многу во CS50
но тоа е во вредност од добивање во е верзија контрола.
Идејата за контрола на верзиите е кога сте во основа следење на сите напредокот
сте направиле кон вашиот сајт и ако во било која точка ќе се реализира, ох, ова беше работа
Пред некое време, но тоа не е работа повеќе, може да се вратиш на претходните верзии
и да видиме што се променило од тогаш и тој вид на работа.
Примарниот начин да го направите тоа е со Git, и Git е целиот овој вид на систем кој
Верувам Томи MacWilliam даде семинар за минатата година.
Ако одите во CS50 семинари за 2011 година, може да се види неговиот семинар за тоа.
Идејата на Git во основа е дека во редовни интервали што ги правите овие обврски
кои се начини на велејќи сајт е во прилично стабилна верзија право, па сега
Јас сум тоа пакување и испраќање далеку на серверот, а потоа можете да одат на тој сервер
и се погледне во сите претходни верзии на вашиот код и да видиме како тоа напредуваше
и сите тој вид на добри нешта.
Значи, тоа е во основа тоа.
Колку што е веб развој, ние сме среќни да останат околу и одговори на сите
прашања колку што е нашата презентација.
Тоа е тоа. Благодарам. >> [Бен] Благодарам.
[Аплауз]
>> [Били] Генералштабот, не секој имате било какви прашања за нешта кои сме покриени
или работи кои ние не сме зафатени што тие се надеваа би се покрие?
Ние ќе бидеме среќни да одговориме на нив. Некој?
[Публиката член] Кои се добрите и лошите страни на користење на Ruby или со користење Пајтон?
[Бен] Прашањето е, она што се добрите и лошите страни на користење на Ruby или Пајтон
наместо како PHP.
Добрите се дека Руби и Python се многу подобри јазици од PHP.
Барем според мое мислење, и мислам дека во многу мислења на други луѓе, како и.
Тие беа дизајнирани повеќе за тоа комплекс работи,
а помалку за огромен заедно веб страници навистина брзо со
малку динамична содржина.
На лошите страни се дека има малку - има повеќе од кривата на учење
да се ги постави.
Тоа е, како во PHP, можете само да имаат HTML датотека и да пишуваат помалку-од,
прашалник, а потоа ќе напише некои кодот, а потоа ќе напише прашалник,
поголема-од, а потоа ќе завршиш.
На други јазици, како Ruby или Пајтон,
треба да се оди преку малку повеќе работа за да се добие почетен сајт трчање.
Постои, исто така - барем што се користи да биде случај - дека има повеќе документација
достапни за PHP само затоа што постојат повеќе луѓе го користат.
Мислам дека не е толку многу на ова прашање веќе.
Има секако многу добра документација за нешта како Ruby on Rails
или Џанго за Пајтон е еквивалентно.
PHP е оној кој секој е со користење години, и знаете како тоа функционира.
Руби и Python се малку помалку зрели.
>> [Публиката член] Ако сте биле да избере помеѓу еден од нив да учат или да земам,
кои би сакале?
Искрено, мислам дека зависи од личноста.
Жал ми е. Прашањето беше кои ќе ви ги собереш некој да учат?
Сметам Пајтон најубавиот лично.
Постојат голем број на луѓе кои - Јас не мојот прв веб dev проект во Python и Џанго.
Постојат голем број на луѓе кои сакаат Ruby on Rails, исто така.
Веројатно повеќе луѓе кои знаат Ruby on Rails.
Искрено, јас само ќе одат со она што луѓето околу вас знаат
така што ќе имаат луѓето да поставуваат прашања.
>> Прашањето беше - на заеднички сервер е вид на тешко да се работи на Пајтон?
Тоа зависи од вашиот хостинг.
Постојат голем број на веб-домаќини кои ќе ја објавите Пајтон нешта.
WebFaction прави тоа, нели?
WebFaction е оној кој Били и јас се користи за некои проекти.
Тие се навистина големи. Тие го поддржуваат повеќето јазици.
Но, тоа е точно дека PHP е многу повеќе широко поддржана.
Значи, ако сте заглавени на веб домаќин дека само што се PHP, тоа е добра причина да го користите PHP.
>> [Публиката член] Јас само што влегов во учење како да се пребарува некои бази на податоци,
и знам дека мојот SQL е насекаде, но јас неодамна добив изложени на -
и ќе го посочи. Гледаш JSON и проширување бази на податоци.
Мој SQL е сепак сите над местото. Како гледате тоа да се случи?
Е таму ќе биде растечка тенденција за повеќе да се прошири (нечујни)?
Прашањето беше - не мислам дека ќе биде тренд кон не-SQL бази на податоци.
На пример, како MongoDB. Мислам дека е дефинитивно точно.
Мој совет е претежно mysql-поврзани тука само затоа што MySQL е
индустрија стандард.
Лично, јас многу сакам бази на податоци кои немаат schemos како MongoDB
каде што не треба прашањето за, ох, јас треба да се додаде уште еден столб.
Тешко мене, како што можам да направам?
Тоа е многу тешко да се направи тоа на MySQL, но кога имате нешто како Mongo
тоа е многу поубав.
Другите убаво нешто за Mongo е дека вашите записи се всушност вклучите Javascript-објекти.
Нема вид на конверзија чекор, каде што треба да ги преземат овие бази на податоци редови
и да ги претвори во вклучите Javascript-објект, а потоа да ги испратите во текот на жица.
Мислам дека работи како што се случува да биде многу, многу корисно за брз веб развој во иднина.
>> [Били] Нешто што ќе додадете кој е само општа Поентата е дека
не се чувствуваат како тебе треба да го научиле сите јазици сме разговараа
од нашите семинарот.
Очигледно поентата е да ви даде идеја за она што е таму,
и ако сте заинтригиран од кој било од работите што сум споменат можете да ги Google
и прочитате на нив.
И како што рековме, постојат неколку семинари кои се занимаваат со токму овие работи.
Постојат дури и повеќе семинари кои не ги спомнав дека најверојатно се во
овој материјал, како и.
Идејата е дека ако сакате да работат на нешто, тука се и алатки на располагање.
Не се чувствуваат премногу задоволни и ако не се сосема сигурни што овие алатки прават токму,
но знам дека тие се таму и дека можете да направите широка употреба од нив
од страна на Google.
>> [Публиката член] Каков вид на нешта што ви е потребно да направите за да бидете сигурни дека вашата веб-страница
изгледа добро на мобилни уреди?
[Били] Мобилни уреди се малку тешко.
Има 2 начини можете да го пристап.
Првиот начин е тоа што всушност имате мобилен веб-сајт.
Со други зборови, ќе се изврши некој вид на откривање на почетокот
кога прелистувачот го прави барањето за вашиот веб-сајт кој било вели
врати овој став - кој ќе биде гледање за десктоп или лаптоп прелистувачи -
и оваа друга поглед за мобилни уреди.
Тоа е место каде ставови се навистина убаво во тоа прилично многу може трампа на
две надвор и имаат интерфејс, кој работи навистина убаво на мобилни уреди
и имаат сосема различни еден кој работи убаво на прелистувачот уреди.
Проблемот со тоа е тоа трае долго време, бидејќи тоа значи кодирање
сосема различен интерфејс.
На друг начин на кој можете да го направите тоа е -
многу модерни телефони ќе се прикаже веб-сајтови и се обидуваат да ги направат како интернет пребарувач би,
и тие го прават најдобро.
Можете вид на може да се обиде да остане светло за висината на jQuery JavaScript сте користење
кој има тенденција да биде местото каде што работи може да тргне наопаку малку.
Ова е вид на начин на кој можете да го користите доколку немате толку време.
Ако имате време да работат на мобилен интерфејс, тоа е очигледно вашата најдобра опција.
>> Мислам дека генерално за CS50 проекти, ви се случува да сакате да изберете еден или на друг.
Со други зборови, сакате да се направи мобилен стан или сакате да се направи десктоп веб-сајт.
И тој вид на одредува каде и да одите со тоа.
Но, ако сакате да се прошири подоцна, веројатно најдобар залог е
да се направи друг интерфејс за други.
Имам малку искуство во развојот на WordPress-базирани сајтови.
Јас беше домаќин на личен веб-сајт на WordPress за некое време.
Оние видови на рамки може да биде убаво само како многу основни нешта.
Честопати сте само ќе наиде на многу на customizability прашања, секако.
Ќе сакаат да имаат нешто изгледа на одреден начин или да биде одреден начин
а вие едноставно не може, бидејќи тоа е хард-жичен во системот дека
ова е како што треба да направите работите што може да биде малку проблем.
Од тогаш сум вид на се повеќе склони да работат со сајтови од земјата нагоре.
За нешта како блог бази на податоци и тој вид на работа тоа не е навистина толку тешко да се изгради една рамка.
Ако сте навистина се протегала за времето, вие се разбира може да се користи нешто како WordPress
или тој вид на работа за блог.
Видови на нешта кои блогови продавница и не се навистина тешко доволно
ако сте водење на било која од овие видови на нештата, ти си веројатно најдобро само да се
направи во куќа верзија.
>> Мислам дека тоа е во врска со тоа, па благодарение повторно за доаѓање.
Ние навистина уживав да разговараат со вас момци и се надевам дека го научиле некои нешта.
[Бен] Ние сме среќни да се зборува - мора да одиме но ние сме среќни да се зборува повеќе надвор
ако имате едно друго прашање. Ви благодариме повторно. [Аплауз]
[CS50.TV]