[Powered by Google Translate] [სემინარი] [Web Development: From იდეა განხორციელების]
[ბენ Kuhn] [Billy Janitsch] [ჰარვარდის უნივერსიტეტის]
[ეს არის CS50] [CS50.TV]
[Billy] Hi, მე ვარ ბილი და ეს არის ბენ. >> [ბენ] Hi.
ჩვენ ვაპირებთ ვისაუბრებთ ვებ განვითარების დღეს.
[Webdev] [Billy Janitsch და ბენ Kuhn]
ცოტა ჩვენს შესახებ პირველი.
Ben არის ერთგვარი back-end ბიჭი. ის რაც რამ მუშაობა.
და მერე წავიდეს და მათ საკმაოდ.
მე ძირითადად ჩართული მეტი წინა ბოლომდე განლაგება დიზაინი მსგავსი საქმიანობები,
და ბენ, მეორეს მხრივ, იცის რა, რომ ის ამით მუშაობს back-end პერსონალი.
ერთად ჩვენ გავაკეთეთ რამდენიმე რამ.
მაგალითად, გასულ წელს ჩვენ ვიმუშავეთ Gimblium რომელიც არის ონლაინ თამაში განვითარების სტუდია.
ეს იყო ჩვენი საბოლოო პროექტის კლასის,
და მას შემდეგ ჩვენ გააკეთა ჰარვარდის კლასი
რომელიც ამჟამად ჩარჩოს გვერდების და სავაჭრო კურსები ჰარვარდის.
>> ჩვენ ვაპირებთ დავიწყოთ ამ იდეას ჩვენი ნახვა.
ჩვენ ვაპირებთ, რომ Facebook, მაგრამ კატა.
სანამ რეალურად ამ ნახვა,
არ მიიღოს ამ ნახვა, რადგან ეს არ არის კარგი, მაგრამ ჩვენ ვიყენებთ მას, როგორც ჩარჩო
და გაიაროს პროცესი როგორ ვიღებთ ამ იდეის
და ჩართოთ იგი რეალური website ჩვენ შეგვიძლია გამოვიყენოთ.
ჩვენ დავიწყებთ დარღვევით ნახვა down.
თქვენ უკვე აკეთებს CS50,
გსურთ ვიფიქროთ, თუ რა არის ნამდვილი კომპონენტები, რომ წასვლას ამ ნახვა.
ძირითადად გარდამტეხ ის იდეა, რომელიც უბრალოდ სახის აბსტრაქტული კონცეფცია
შევიდა რეალური, ხელშესახები რამ, რომ თქვენ ვერ გააკეთებს.
ჩვენ ვიწყებთ ითხოვს გარკვეული კითხვები.
რა არის ეს საიტი? რატომ ვართ რაც მას?
რა არის ეს იქნება გამოყენებული? რომ სახის რამ.
იმ შემთხვევაში, თუ Facebook Cat,
ჩვენ ძირითადად გვინდა ნახვა, რომელიც საშუალებას კატა სოციალური ქსელის ერთმანეთს.
იდეა, რომ რომ მათ შეუძლიათ ერთმანეთის კედლები,
მათ შეუძლიათ კომენტარი, რომ სახის რამ.
და რომ სადაც ჩვენ მოვალთ ფუნქციური კომპონენტები.
ჩვენ ახლა ასეთი ფარგლებში - ჩვენ შესახებ პროფილები,
ჩვენ კომენტარი, და ჩვენ შეგვიძლია პოსტი.
ალბათ ოდესმე ჩვენ influent მოსწონს და რომ ერთგვარი რამ.
და ჩვენ როგორი გვინდა პრიორიტეტი ამ თვისებების აპირებს შემოსული
ჩვენ გვინდა ვთქვათ, როგორიცაა, okay, ეს მართლაც მნიშვნელოვანია, რომ ყველას აქვს ნახვა
და რომ ყველას შეუძლია ერთმანეთის კედლები.
მეორეხარისხოვანია, რომ კომენტარები იქნებოდა.
იქნებ მოგვიანებით ჩვენ influent მოსწონს.
ასე რომ, გსურთ აქვს იდეა რა არის ფუნდამენტური თქვენი პროექტი
და რა სახის უფრო ზოგადი თვისება, რომელიც შეიძლება იქნას გამოყენებული მოგვიანებით.
გსურთ სახის კონკრეტული სია გათვალისწინებით,
მაგრამ პროექტი რომ დაიწყოს არ იქნება პროექტი, რომელიც თქვენ დასრულდება ერთად.
სხვა სიტყვებით, ყველაფერი შეიცვლება, ხოლო თქვენ განვითარებადი საიტი,
და გსურთ დატოვოს ოთახი რომ.
მე აქციოს ეს მეტი Ben ვინც აპირებს გაიგო ცოტა შესახებ სტრუქტურა.
>> [ბენ] მე ვაპირებ ვისაუბრებთ უფრო ტექნიკური მხარე ვებ განვითარების.
მოდით უბრალოდ წავიდეთ მეტი რამდენიმე საფუძვლებს პირველი.
როდესაც თქვენ აკეთებთ ვებ app,
მთავარი სამმართველოს, რომ თქვენ აპირებთ უნდა არ არის
თქვენ ვაპირებთ აქვს რაღაცები ხდება კლიენტის მხარეს -
რომ არის, კოდი, რომ თქვენ ბრაუზერში იღებს საიტზე
და JavaScript, HTML, CSS პერსონალი.
რომ ყველა კლიენტის მხარეს.
თქვენ აპირებს სხვა კოდი, რომელიც ეშვება სერვერის მხარეს
რომელიც ინახავს ტრეკზე ყველა მონაცემები, რომ ხალხი გაგზავნას, რომ თქვენ,
გადაწყვეტს, ვის მისცეს რა, პერსონალის იგრძნობა.
ეს არის მხოლოდ რამდენიმე ტერმინოლოგიის ასე რომ თქვენ ბიჭები არიან ყველა იცნობს, რაც ჩვენ ვსაუბრობთ.
ამის სამმართველოს კარგია ვფიქრობ თქვენი web app თვალსაზრისით
რამდენიმე მკაფიო კომპონენტები.
როდესაც თქვენ აკეთებთ ვებ განვითარების
ერთი რამ, რომ თქვენ ყოველთვის უნდა ცდილობს შეამციროს სირთულის.
უფრო რთული თქვენი კოდი არის მეტი შანსი არსებობს, რათა შეცდომები,
უფრო ის არის, რომ შეიცვალოს მოგვიანებით.
ასე რომ, თუ შეიძლება დაარღვიოს თქვენი app შევიდა რამდენიმე მკაფიო ფუნქციურ სფეროებში
რომელიც - და თქვენ შეუძლია შეამციროს სახის თანხის cross-ნაკვეთი კომუნიკაცია -
რომელიც დაგეხმარებათ უამრავი გრძელვადიან პერსპექტივაში შემცირების კუთხით შეცდომები.
>> იყოს კონკრეტული, როგორც წესი, ხალხის გაყოფა up web app შევიდა -
ეს არის სახის buzz სიტყვა, მაგრამ ისინი მაინც სასარგებლო.
თქვენ შეიძლება მოვისმინეთ ადამიანები საუბრობენ მოდელები, შეხედულებები და კონტროლერები.
მოდელები ფაქტობრივი მონაცემები, რომ თქვენი app აპირებს გამკლავება.
მაგალითად, თქვენი Cat Facebook, თქვენი მოდელები იქნება -
ნეტავ აქვს მოდელი, როგორიცაა შეტყობინება, და მოდელი მომხმარებლის პროფილები, პერსონალის იგრძნობა.
თქვენი შეხედულებები, თუ როგორ წარმოადგინოს, რომ მონაცემები თქვენს მომხმარებლებს.
ალბათ 1 დეტალური ეძებს ერთი პოსტი და ყველა კომენტარი
და განსხვავებული აზრი თქვენი კედელი, რომელიც აქვს სიაში ყველა პოსტი
, რომლებიც მიმართულია თქვენ, და განსხვავებული აზრი თქვენი news feed - პერსონალის იგრძნობა.
და ბოლოს, თქვენ გაქვთ კონტროლერები, რომელიც ძირითადად, როდესაც ადამიანი გამოგიგზავნოთ შეტყობინება
და თქვენ განახლება თქვენი back-end სისტემა,
თქვენ ნამატი bunch of მრიცხველები, და რასაც.
ეს არის თქვენი კონტროლერები.
>> მე ვაპირებ იყოს საუბარი ძირითადად მოდელები.
დათვალიერების რაოდენობა ტექნიკურად არ არის, რომ რთულია და ეს საკითხი უფრო შექმნასა მათ
კონტროლერები იქნება კონკრეტული რასაც თქვენ დიზაინის.
მაგრამ არსებობს საკმაოდ ზოგადი ტექნიკის შეგიძლიათ გამოიყენოთ
რათა თქვენი მოდელები გავალამაზოთ და ადვილია მუშაობა, რომ ვფიქრობ, ძალიან სასარგებლო.
ეს ძირითადად იქნება იმაზე, თუ როგორ უნდა მოგვარდეს თქვენი ვებ apps მონაცემები ლამაზი გზა.
ძირითადი საკითხები მოდელები
არიან, რომ ისინი ცხოვრობენ კლიენტის და სერვერის და თქვენ უნდა გაერკვნენ
ა) როგორ უნდა მიიღონ მათ - ყველა შესაბამისი პირობა - სერვერზე კლიენტს,
და ბ) როგორ უნდა შეინახოს მათ sync.
თქვენი მომხმარებლის ვაპირებთ გსურთ გააკეთოთ ჯიბის განახლება.
ისინი აპირებენ გინდათ ახალ თემებს.
ისინი აპირებენ მინდა მინდა რამ და პერსონალი თუ თქვენ გაქვთ მოსწონს.
ეს ის ძირითადი ტექნიკური გამოწვევები საქმე მოდელები.
პირველი, რაც თქვენ ვაპირებთ მინდა ვთხოვო თავს
რა სახის მონაცემები მიდის ეს მოდელი და რა შეკითხვებს მივდივართ გსურთ -
რომ არის, როგორ მივდივართ შევხედოთ მოდელები?
თქვენი Cat Facebook მაგალითად,
თქვენი პოსტი აპირებს აქვს ავტორს მასთან,
ზოგიერთი კედლის ჩანაწერის ტექსტი და მიმღები კედლის კუთხეში.
და მაშინ დაგვჭირდება შეკითხვის რომ bunch სხვადასხვა გზა.
თქვენ სურს შევხედოთ მას, ვინც დაწერა, რომელიც ჩანაწერი,
მიერ, ვინც მიიღო, რომლის პოსტი, შესაძლოა თარიღით ისინი განთავსებული.
მაგრამ თუ თქვენ აპირებს ამის გაკეთებას თარიღის მიხედვით, მაშინ უნდა დაამატოთ კიდევ ველი თქვენს ჩანაწერი
როდესაც იგი ფაქტობრივად განთავსებული.
ეს 2 ფაქტორი - რა მონაცემები, რომლის გამოყენებაც გსურთ და როგორ გსურთ ნახოთ ეს -
თქვენ უნდა ვიფიქროთ მათ პირველი, რადგან ისინი დამოკიდებული ერთმანეთს,
და ეს იქნება უფრო რთული დაამატოთ ისინი მოგვიანებით.
>> არსებობს სხვა მოსაზრებები.
როდესაც თქვენ ფიქრი, თუ როგორ გაუმკლავდეთ მოდელები სერვერზე
რა გსურთ შევხედოთ არის -
თქვენ ძირითადად გინდათ სერვერზე ისეთი მარტივი, როგორც ეს შესაძლებელია.
აკეთებს პერსონალის კლიენტის მხარეს ზოგადად ბევრად უფრო სწრაფად, თუ თქვენ შეგიძლიათ ეს გააკეთოთ მხოლოდ კლიენტის
გარეშე აკეთებს ნებისმიერი სახის ქსელის თხოვნით.
იდეა არის ის, რომ გავაკეთოთ, როგორც ბევრი queries როგორც თქვენ შეგიძლიათ კლიენტს.
ერთადერთი პრობლემა,
ის არის, რომ თუ მოითხოვოს ყველა თქვენი მონაცემების დასაწყისში
მაშინ რომ აპირებს მიიღოს ხანგრძლივი დრო, რათა ჩატვირთოს.
ასე რომ, იდეა არის, რომ გაფიცვის ბედნიერი საშუალო შორის, რომელსაც საკმარისი მონაცემები კლიენტი
რომ შეგიძლიათ გააკეთოთ ყველაზე თქვენი მუშაობა, მაგრამ არა მხოლოდ მიღება ყველაფერი ერთბაშად
ისე, რომ თქვენ ნამდვილად ნელი დატვირთვის ჯერ დასაწყისში.
მაგალითად, თქვენი კატა მონაცემები
თქვენ ალბათ გვინდა, რომ მოიტანონ bunch ბოლო კედელი შეტყობინება.
თქვენ არ მინდა მისაღებად ყველა მათგანი იმიტომ, რომ შეიძლება დაბრუნდეს რამდენიმე წლის განმავლობაში.
მაგრამ თქვენ არ მინდა მისაღებად მათ ერთ დროს
იმიტომ, რომ წარმოგიდგინოთ ბევრი ქსელის ოვერჰედის.
>> ის ხშირად საკმაოდ რთულია - ერთხელ თქვენ გაქვთ ბაზაში გაშვებული -
ის ხშირად საკმაოდ რთულია შეცვლის რა მონაცემები გაქვთ ეს -
რომ არის, დაამატოთ ახალი მონაცემთა ბაზის სვეტი ან რაღაც -
ისე ერთი კარგი სტრატეგია რეალურად უბრალოდ შეინახოს ბევრი თქვენი მონაცემების text blob -
JSON blob - JSON მყოფი JavaScript Object Notation -
იმ მიზეზით, რომ ის სასარგებლოა, რადგან მაშინ თქვენ შეგიძლიათ დაამატოთ ახალი თვისებები
ყველა ამ JSON blobs გარეშე შეცვლის თქვენს მონაცემთა ბაზაში.
მხოლოდ downside რომ არის, რომ თუ თქვენ გაქვთ bunch of სფეროებში
რომ თქვენ დამატების შემდეგ - როგორც ჩაფლული რომ JSON blob -
მაშინ ეს რთული შეკითხვის მათ შიგნით ბაზაში.
მაგალითად, თუ მოგვიანებით - თუ თქვენ გქონდათ თქვენი ჩანაწერი მოდელი, რომელიც ჩვენ განვიხილეთ ადრე
მხოლოდ ავტორს, მიმღები და ტექსტი -
თქვენ შეიძლება ასევე აქვს JSON blob და შემდეგ, თუ მოგვიანებით სასურველი დაამატოთ თარიღის ველი
თქვენ არ უნდა შეცვალოთ თქვენს მონაცემთა ბაზაში.
შეგიძლიათ უბრალოდ დაამატოთ თარიღების ყველა ტექსტი სფეროებში.
და მაშინ შეძლებს შევხედოთ იმ კლიენტის მხარეს,
მაგრამ თქვენ ვერ შეძლებს შეკითხვის მათ სერვერის მხარეს
იმიტომ, რომ ის იმალება შიგნით რომ ტექსტი.
>> სხვა საკითხია, რომ თქვენ გსურთ ვიფიქროთ
არის, თუ როგორ თქვენი კლიენტი და თქვენს სერვერზე ვაპირებთ კომუნიკაცია.
თქვენ, როგორც წესი გვინდა, რომ ეს იმდენად მარტივია, რომ შესაძლებელი.
შეგიძლიათ უბრალოდ მოსწონს get-me-მონაცემთა ამ მოთხოვნით,
შექმნათ-a-new-object რამ, და update-an-old-object მოთხოვნით.
და ეს რომ ყველა იყოს განსხვავებული მისამართები სერვერზე, რომ თქვენ -
რომ მისი ბრაუზერი, რომ - თქვენ შეგიძლიათ გამოიყენოთ AJAX მოთხოვნა ყველა ამ
და არც მიიღოს ან ჩანაწერის მონაცემები.
ერთხელ, ჩვენი Cat Facebook მაგალითად,
თქვენ შეიძლება, რომ URL მიიღოს ინდივიდუალური ჩანაწერი,
და ნეტავ აქვს URL შექმნა ახალი კედელი პოსტი
და იქნებ URL ატვირთვა თქვენი პროფილი სურათი, პერსონალის იგრძნობა.
თუმცა ისევ და ისევ, რომ წინასწარ მისაღებად ყველაზე თქვენი მონაცემები, ასე რომ თქვენ არ უნდა შევინარჩუნოთ
მიღების ქსელის მოითხოვს.
ამის გამო, თქვენ ალბათ არ სურს, რომ ინდივიდუალური მისაღებად მოთხოვნა ერთი ჩანაწერი,
და ნაცვლად თქვენ უბრალოდ მინდა 1 GET თხოვნა მთელი კედელი.
ხოლო შემდეგ, თუ თქვენ ცდილობს ბალანსის რადგან -
ეს ასევე აპირებს დამოკიდებული თქვენი განაცხადი.
იმიტომ, რომ თუ თქვენ ველით, რომ ხალხი მხოლოდ 10 ან 20 კედლის შეტყობინება
რომ კარგად იქნება.
მაგრამ თუ თქვენ ველოდებით ისინი ყველაფერს ათასობით შემდეგ მოთხოვნა დასჭირდება ძალიან დიდი ხანია,
და ასე დაგვჭირდება დაამატოთ მისაღებად-all-შეტყობინება დროიდან პარამეტრი.
>> ყველა ამ თქვენ ალბათ აპირებს გსურთ sync თქვენი მონაცემების JSON -
JavaScript Object ნოტაცია.
საკმაოდ ბევრი ყველა ენაზე ეხება JSON ძალიან კარგად.
JQuery აქვს ამ ლამაზი getJSON ფუნქცია, რომ ყველაფერს გააკეთებს, მძიმე სამუშაო თქვენთვის.
და PHP არის ასევე ძალიან ლამაზი JSON საკომუნიკაციო ფუნქციები.
ასე რომ, ალბათ, საუკეთესო ფორმატია გაგზავნის თქვენი მოდელები უკან და მეოთხე.
>> მაგალითად, რასაც ჩვენ ვისაუბრეთ ჯერჯერობით,
აი მაგალითად ნაკადის თქვენი Cat Facebook განაცხადი.
იგი იწყება off თქვენი ბრაუზერის მოთხოვნის ბაზის website URL.
სერვერზე ალბათ გაუგზავნე მეტი სტატიკური HTML და ზოგიერთი JavaScript და CSS.
ეს, როგორც წესი საუკეთესო არ რაიმე გაწევის სერვერზე.
თქვენ, ალბათ, არ მინდა, რომ -
რა სერვერზე არ აკეთებს იქ ქვემოთ სიაში კედლის შეტყობინება
და გამოიმუშავებს ზოგიერთი HTML თითოეული და გაგზავნის, რომ დასრულდა.
ეს, როგორც წესი საუკეთესო უნდა გავაკეთოთ, რომ კლიენტის მხარეს რადგან სხვაგვარად
ყოველ ჯერზე გსურთ ხელახლა მიაპყროს რაღაც, თქვენ უნდა გააკეთოთ სერვერზე მოთხოვნით.
და რომ ძალიან სწრაფად გაძლევთ უამრავი ოვერჰედის.
ეს, როგორც წესი საუკეთესო უბრალოდ გემი აგზავნის ქვემოთ სტატიკური HTML
და მაშინ JavaScript და CSS, რომ ყველაფერს გააკეთებს გაწევის კლიენტის მხარეს.
როგორც კი, რომ პერსონალის მოდის,
მაშინ თქვენ შეგიძლიათ - ს JavaScript - შეგიძლიათ გააკეთოთ მოთხოვნა კედლის მონაცემები
და პერსონალის იგრძნობა, და ამის შემდეგ სერვერზე ძირითადად უბრალოდ აკეთებს მონაცემთა ბაზაში queries
და შემოწმების უფლებები.
ერთადერთი მნიშვნელოვანი ის არის, რომ მას არ შეუძლია გაგზავნოს მეტი ზოგიერთი სხვა მომხმარებლის კედლის შეტყობინება
რომ თქვენ არ მისცეს ვხედავ.
ეს შეიძლება ძირითადად იყოს ძალიან თხელი ხელმისაწვდომობის ფენა თქვენს მონაცემთა ბაზაში,
და მაშინ ყველა გვიჩვენებს მონაცემები - ყველა შეხედულებები და პერსონალის -
იმ შეიძლება მოხდეს თქვენს ბრაუზერში, და მაშინ, როდესაც გინდათ პოსტი ან რაღაც
თქვენ უბრალოდ გამოგვიგზავნეთ სხვა მოთხოვნით.
>> არსებობს ასევე ზოგიერთი ლამაზი პერსონალი შეგიძლიათ გააკეთოთ თავზე ამ.
თვალსაზრისით უფრო კონკრეტული ტექნიკური ინფორმაცია
განვითარებადი მარტივი JavaScript შეიძლება ცოტა მტკივნეული,
ასე რომ, არსებობს გარკვეული ბიბლიოთეკების და ინსტრუმენტები, რომელიც დაგეხმარებათ ბევრი რომ.
მე ვფიქრობ, თქვენ ყველა, ალბათ შეიტყო jQuery რაც აკეთებს HTML გაწევის
და მანიპულირება ბევრი ადვილია - ბევრი ლამაზი ფუნქციები თანდათან უქრებათ და გარეთ,
და აკეთებს zippy ანიმაციები.
არსებობს ასევე ამ ბიბლიოთეკის მოუწოდა Underscore.js.
მას აქვს ბევრი სასარგებლო სასარგებლო ფუნქციები, პერსონალი, რომ თქვენ მოელოდა JavaScript აქვს
რომ ის მართლაც doesn't - რამ, როგორიცაა shuffling მასივი,
მოხსნის ეგზემპლარი სიიდან, ან flattening სია სიებში.
ეს არის მხოლოდ მცირე კოდი ნიმუში.
ხაზგასმა აქვს ტონა ამ ლამაზი ფუნქცია, რაც თქვენ გსურთ, თქვენ უნდა ყველა დროის.
>> და შემდეგ იქ 1 მეტი ბიბლიოთეკა, რომელიც მინდა დახარჯოს ცოტა დრო
ე.წ. Backbone.js რადგან ხერხემალი ნამდვილად დაგეხმარებათ გაუმკლავდეთ მოდელები კლიენტის მხარეს
და ბევრი დაბნეულობა რომ ეს შეიძლება გამოიწვიოს.
ხერხემალი გაძლევთ ეს კონცეფცია მოდელები და კოლექციები
in JavaScript, რომელიც ძირითადად ზუსტად ისევე JavaScript ობიექტები
in JavaScript მასივები, მაგრამ მათ აქვთ მოვლენები, როდესაც თქვენ შეცვალოს მათი თვისებები.
ისევე, JavaScript, თქვენ შეგიძლიათ მოვლენა, როდესაც ღილაკს იღებს აირჩიეთ ან რამე
ამ ხერხემალი მოდელები და ხერხემალი კოლექციები გავა რამ, როგორიცაა,
რომ, როდესაც ისინი ცვლიან.
ეს იმას ნიშნავს, რომ თქვენ შეგიძლიათ უბრალოდ წერენ რაღაც მსგავსი snippet კოდი აქ -
ამ განცხადებით, როდესაც თქვენ დაამატოთ არაფერი შეტყობინება array თქვენ შეეცვალა მთელი კედელი.
და ეს იტყვის, როდესაც ჩანაწერის ნომერი მოსწონს იცვლება,
თქვენ აცნობოს მომხმარებელს, რომ ვიღაცას მოეწონა მათი ჩანაწერი.
ან როდესაც რაიმე ქონების ჩანაწერის ცვლის თქვენ მეთოდით გადასინჯვის პოსტი.
პერსონალის მოსწონს, რომ გადაარჩენს თქვენ ტონა სირთულის რადგან სხვაგვარად
თუ არ აქვს გარკვეული ჩარჩო, როგორც ეს მაშინ ყოველ ჯერზე თქვენი კოდი, რომ თქვენ შეცვალოს
არაფერი პოსტი, ნეტავ უნდა გვახსოვდეს, თავს მოვუწოდებთ ყველა გაწევა ფუნქციები
და პერსონალის იგრძნობა, და თუ სასურველი, რომ დაამატოთ რაღაც ახალი, რაც მოხდა
ყოველ დროს, თქვენ შეცვლილია პოსტი ნეტავ უნდა გაიაროს ყველა ადგილი თქვენი
კოდი, რომ თქვენ შეცვლილია პოსტი და დავამატო, რომ ახალი რამ.
ფარგლებში, როგორც ეს იქნება ამოიღონ ბევრი რომ შორის ფენის ურთიერთობა
, რაც თქვენი კოდი რთული და რთული შენარჩუნება.
>> იქ ცოტა რაოდენობა, ასევე.
მე ვაპირებ რომ დატოვოთ საუკეთესო ამ ბილი რადგან ისინი ტექნიკურად არ არის ძალიან რთული.
გამოყენება jQuery თქვენი შეხედულებები. ეს პრაქტიკულად, როგორც აუცილებლობა ამ ეტაპზე.
უბრალოდ რაც ყველაფერი ასე ბევრად უფრო ადვილია.
არსებობს ბევრი ბიბლიოთეკები.
თუ თქვენ არ ართულებს მომხმარებლის ინტერფეისი ელემენტები,
თუ გსურთ auto-სრული რამ მინდა ერთი იმ ლამაზი მრავალ სელექციონერები -
თუ გსურთ რამე მსგავსი, თქვენ ალბათ უბრალოდ ძებნის გარშემო
და თქვენ შეგიძლიათ იპოვოთ კარგი ბიბლიოთეკა, რომ ყველაფერს გააკეთებს, რაც გსურთ.
Billy აგიხსნით უფრო მეტი რეალურად რთული ნაწილების views.
ასევე, როგორც მინიშნება, ხერხემალი აქვს ფუნქციონალური მიღების რაოდენობა ურთიერთობა
ლამაზად მოდელები - შევხედოთ დოკუმენტაცია ყველა ამ ბიბლიოთეკების, რეალურად.
შევჩერდეთ Docs. ისინი ძალიან კარგად დაწერილი და ადვილად დაიცვას.
ზოგადად, შეგიძლიათ საკმაოდ ბევრი უბრალოდ Google, თუ თქვენ გაქვთ პრობლემები.
არსებობს ბევრი ადამიანი იყენებს მათ.
ვფიქრობ, ეს არის როგორც დასასრულს.
>> ასევე არსებობს რამდენიმე უფრო დახვეწილი რამ, რომ შეგიძლიათ გააკეთოთ
თუ თქვენ ეძებთ, რომ თქვენი web app დამატებით გასაოცარია.
ამის გაკეთება შეგიძლიათ - ახალი HTML5 დაზუსტება აქვს უამრავი ლამაზი რამ რისი გაკეთებაც შეგიძლიათ.
ადგილობრივი შენახვის - რომელიც შეგიძლიათ ჩაწეროთ მონაცემები ბრაუზერი -
ვიდრე მქონე დაბრუნდეს და peruse სერვერზე ყველაფერი,
თქვენ შეგიძლიათ შეინახოთ რამდენიმე ის კლიენტი და რომ მაშინაც კი, საშუალებას ადამიანი -
ზოგიერთ შემთხვევაში ეს შეიძლება კი მოგცემთ გამოიყენოთ ვებგვერდზე გასულია.
არსებობს ამ რამ მოუწოდა websockets რომლებიც სხვადასხვა სახის ქსელის ურთიერთობა
სადაც ნაცვლად მხოლოდ თქვენ ერთი თხოვნა, თქვენ პასუხი და თქვენ გაკეთდეს,
თქვენ გაქვთ გახსნას კავშირი სერვერზე და ასე შემდეგ შეგიძლიათ გააკეთოთ რამ, როგორიცაა,
რეალურ დროში განახლებები.
ასე რომ, თუ თქვენ ცდილობენ სტატისტიკა app, შეგიძლიათ გამოიყენოთ websockets
კომუნიკაცია და უკან ისე, რომ თქვენ არ უნდა შეინარჩუნოს მოთხოვნის,
"ოჰ, სერვერზე, არც ვინმე გამომიგზავნოთ სტატისტიკა?" ყოველ 10 წამში ან რამე.
არსებობს ასევე საინტერესო HTML5 ფუნქცია სადაც შეგიძლიათ, რათა ის ჰგავს
URL of გვერდზე იცვლება ისე, რომ, ფაქტობრივად, განაახლეთ ეს.
თქვენ შეგიძლიათ გამოიყენოთ წინ და უკან ღილაკები გარეშე აკეთებს bunch ქსელის მოითხოვს.
პერსონალის მოსწონს, რომ ნამდვილად სასარგებლოა თვალსაზრისით რაც მას სწრაფი არამედ მუშაობა, როგორც web app უნდა.
>> არსებობს ასევე ამ რამ მოუწოდა CoffeeScript.
CoffeeScript არის სხვადასხვა ენაზე, ფაქტობრივად, რომელიც ადგენს ქვემოთ JavaScript.
თქვენ ამას წერენ ყველა თქვენი კოდი CoffeeScript, და მაშინ აწარმოებს ამ შემდგენელი,
და ეს SpitS გარეთ JavaScript ფაილი, რომელიც შეგიძლიათ თქვენს ვებგვერდზე.
იმ მიზეზით, რომ CoffeeScript არის ლამაზი იმიტომ, რომ ეს იღებს მოშორება ბევრი
უცნაური შემთხვევები, რომ JavaScript აქვს, სადაც შეადგენს შეადგენს,
და შეადგენს შეადგენს გავაკეთოთ სხვადასხვა რამ, ან მომწონს -
მას აქვს ლამაზი სინტაქსი საქმე კოლექტორები და ფუნქციები.
ეს არის პატარა snippet of CoffeeScript რომ აწარმოებს სიაში ყველა სკვერები
10 ^ 2 1 ^ 2 საპირისპირო მიზნით.
როგორც ხედავთ, CoffeeScript ხშირად საშუალებას გაძლევთ გამოხატოს 1 ონლაინ
რა მოხდებოდა 5 ხაზების JavaScript.
მას შეუძლია მიიღოს რამ ბევრი ადვილია.
ეს ცოტა ახალი სინტაქსის უნდა ვისწავლოთ პირველ რიგში,
მაგრამ ეს ნამდვილად გახდის თქვენ უფრო პროდუქტიული გრძელვადიან პერსპექტივაში.
>> ასევე, შეგიძლიათ გამოიყენოთ სხვა ენებზე სერვერზე გარდა PHP -
ენებს, როგორიცაა Ruby, Python, ან არსებობს კი პროექტი სახელწოდებით Node.js
რომ შევძლებთ თქვენ გამოიყენოს JavaScript სერვერზე.
პირადად მე, ნამდვილად, ნამდვილად სიძულვილის PHP.
მე უბრალოდ არ სარგებლობენ მუშაობს იგი.
თუ თქვენ, ძალიან, ვფიქრობ, რომ ეს არის საშინელი cluge ენის,
მაშინ შეგიძლიათ გამოიყენოთ ერთი ამ ნაცვლად.
ზოგადად, თუ გსურთ რაღაც და თქვენ ნამდვილად არ იცით, თუ როგორ გსურთ ამის გაკეთება,
უბრალოდ მოძებნოთ ინტერნეტში.
არსებობს ტონა და ტონა რესურსების განსაკუთრებით -
StackOverflow არის დიდი ერთი.
ეს ამ ნახვა, სადაც პროგრამისტები ვთხოვთ ერთმანეთს კითხვებს.
თქვენ ალბათ გადაეყარონ, თუ თქვენ მქონე უბედურება on CS50 პრობლემა კომპლექტი.
და არსებობს ტონა ბიბლიოთეკების აკეთებს საკმაოდ ბევრი რამე თქვენ სურს.
თუ გსურთ რაღაც და თქვენ არ იცით, თუ როგორ უნდა გავაკეთოთ,
არ ვივარაუდოთ, რომ ეს შეუძლებელია.
მხოლოდ მიმოიხედე გარშემო და თქვენ შეიძლება იპოვოთ კარგი რესურსი.
>> როგორც ზოგადი გადაიტანოთ up,
მთავარი takeaways არის შენარჩუნება რამ მარტივი.
უფრო რთული თქვენი კოდი არის დასაწყისში
და მეტი თქვენ ცდილობენ და ამის გაკეთება ლამაზი პერსონალი,
აღარ დასჭირდება კიდევ რაღაც რეალურად ფუნქციური
და მით უფრო რთული იქნება, რომ შეიცვალოს მოგვიანებით.
ასე რომ, ამის გაკეთება რამ მითუმეტეს, მარტივი გზა პირველი.
წავიდეთ ერთად, რომ,
ნუ ეშინია სროლა მოშორებით ძველი კოდი ან დასუფთავების it up ბევრი.
ზოგადად, ერთხელ თქვენ ნამდვილად გაქვთ რაიმე სამუშაო,
ეს ბევრად უფრო ადვილია, რომ ვიფიქროთ, ვიდრე მაშინ, როდესაც თქვენ ჯერ კიდევ დასაწყისში ეტაპად
თუ როგორ შემიძლია დააყენა ეს ყველა ერთად.
ეს იმისათვის, რათა dumbest შესაძლებელია დიზაინი, რომელიც მუშაობს
და შემდეგ გაუმჯობესება iteratively ვიდრე ცდილობს ყველაფერი პირველად.
თვალსაზრისით კლიენტის სერვერის განყოფილება, ცდილობენ შენარჩუნებას და თქვენს სერვერზე ძალიან მარტივია -
უბრალოდ მონაცემთა ბაზაში და გარკვეული ავტორიზაციის და არ რაიმე შრომა არსებობს.
ყველაფერი თქვენი რთული პერსონალის კლიენტის მხარეს ბრაუზერის
in JavaScript, როგორც ბევრი როგორც თქვენ შეგიძლიათ.
მიმოიხედე გარშემო for ბიბლიოთეკების, რომ თქვენი ცხოვრების უკეთესი.
ყოველთვის უკეთესი უნდა გამოიყენოს კოდი, რომელიც სხვისი დაწერა
თუ თქვენ - და არა დაწერა თავს.
არსებობს უამრავი პერსონალის ინტერნეტში. Google არის თქვენი საუკეთესო მეგობარი.
Google არის პროგრამისტი საუკეთესო მეგობარი.
ჰო, ნამდვილად არ შეგეშინდეთ გამოიყურებოდეს გარშემო პერსონალი.
ყველა უფლება. და მეტი ბილი.
>> [Billy] სინამდვილეში, სანამ დაიწყება ზოგიერთი დიზაინი პერსონალის,
ვინმეს აქვს რაიმე კითხვა ბენ შესახებ არაფერი რომ ის საუბრობდა?
Okay, კარგი.
ერთხელ, გვაცნობოთ, თუ რამე არ არის ნათელი,
თუ გსურთ us წასვლა რაღაც ცოტა მეტი.
მე ვაპირებ უკან დახევას ცოტა და ვისაუბროთ უფრო ფუნდამენტური ნაწილების დიზაინი.
Ben აღნიშნული მოდელის სახელწოდებით - უკაცრავად, მოდელი კონტროლერი კალენდარი სისტემა
რაც სახის ტექნიკური ასპექტი, ამიტომ მე ვაპირებ შევხედოთ views კონკრეტულად,
და მე ვაპირებ იწყება, თუ როგორ მინდა შეიმუშავონ დეტალური რომელიც გამოიყურება ლამაზი.
აი ასეთი მართლაც ძირითადი თარგი ჩვენი Cat Facebook.
მე ვფიქრობ, რომ არსებობს გარკვეული საფუძვლები თანამედროვე UI დიზაინი
რომ ღირს კრეფა up.
თქვენ შეამჩნევთ, რომ არსებობს ბევრი თეთრი სივრცე მთელ გვერდზე,
უამრავი ოთახი რამ.
არ იგრძნონ თქვენ უნდა squash რამ შევიდა გვერდზე.
გსურთ დატოვოს უამრავი ოთახი ღიაა და თუ წასვლა თითქმის ნებისმიერი თანამედროვე ნახვა
თქვენ ნახავთ, რომ არსებობს თეთრი ყველგან.
არსებობს თეთრი ადგილები თქვენ არ მოველით.
თქვენ ეს ფერი პალიტრა და ეს ბრძენი დასაწყისში
აირჩიოს ფერი პალიტრა რომ თქვენ აპირებს მუშაობა და განვითარება.
თქვენ ასევე - იგი ეხმარება აირჩიოს typeface, და ამ გზით თქვენ ერთგვარი მუშაობა
ამ კონკრეტულ საფუძვლები დიზაინი.
თქვენ გაქვთ თქვენი ტიპის, თქვენ გაქვთ თქვენი ფერები, და მაშინ სახის
ჯდება ყველაფერი, როგორც საჭიროა.
ასე რომ, როგორც ვთქვი, თქვენი ფერი სქემა გსურთ გამოიყენოთ თამამი ფერები თქვენი ფერი სქემა
sparingly. ჰედერისა ლამაზი. ღილაკები არიან ლამაზი მართლაც დიდი, flashy ფერები.
მაგრამ ზოგადად, თუ თქვენ გაქვთ ნახვა, რომ ფერები ყველგან,
ყველა ვნებათაღელვა თქვენ წინაშე, უბრალოდ გამოიყურება cluttered, და ეს არ არის კარგი.
გსურთ ზოგადად გამოიყენოთ ნათელი ფერები.
ცდილობენ, კიდევ ერთხელ, აირჩიოთ საკმაოდ თანმიმდევრული ფერი სქემა.
თქვენ შეგიძლიათ ამ პატარა splashes უამრავი ფერი -
რომელიც შეიძლება გამოიყურებოდეს საკმაოდ ლამაზი, მაგრამ გვინდა, რომ მათი გამოყენება საკმაოდ sparingly.
>> როგორც ვთქვი, გსურთ იყოს მინიმალური. ნაკლებია, თითქმის ყოველთვის მეტი.
თუ თქვენ შეგიძლიათ ცარიელია რაღაც ან არ არიან, რაღაც,
და თქვენ როგორი იცით თუ არა, რომ ეს უნდა იყოს იქ იყოს -
ალბათ თქვენ საუკეთესო off რის გამოც იგი out. თქვენ ყოველთვის შეგიძლიათ დაამატოთ მას შემდეგ.
ჰო, შენარჩუნება რამ მარტივი.
მაგრამ რაც მთავარია, თქვენ გსურთ განიხილავს მრავალჯერადი დიზაინით.
არ ვფიქრობ, რომ როდესაც თქვენ საიტზე, თქვენ გაქვთ ეს თქვენი უფროსი, რომ თქვენ აპირებს
რათა საიტზე გარკვეული გზა, და ის აპირებს გამოიყურებოდეს ზუსტად მოსწონს ეს.
ის აპირებს აქვს ლურჯი header ზედა და ლურჯი მხარეს ბარი
და მაშინ ყვითელი sub-header რამ.
გინდათ მრავალი თარგები.
თქვენ შეგიძლიათ - თუ თქვენ კარგი ფოტო მაღაზია, თქვენ შეგიძლიათ გახსნათ, რომ და სახის
დიზაინი ვებ როგორც გსურთ გამოიყურება.
თუ არა, შეგიძლიათ უბრალოდ გამოიყენოთ კალამი და ქაღალდი,
მაგრამ გადასაფხეკი მრავალჯერადი დიზაინით.
გსურთ ძირითადად აქვს შექმნას, სადაც თქვენ გაქვთ უამრავი ვარიანტიდან,
და თუ ერთი მთავრდება სამუშაო, მაშინ ეს დიდი.
თუ ერთი მთავრდება ვერ, მაშინ თქვენ ყოველთვის ერთი მივმართოთ.
ზოგადად, არ იგრძნონ თქვენ უნდა შეზღუდული
რასაც დიზაინი თქვენ თავდაპირველად გადაწყვიტოს.
მხატვრები ძალიან ცვლადი, და ნაწილი მნიშვნელობა მოდელი
კონტროლერი კალენდარი სისტემის არის ის, რომ შეგიძლიათ სვოპ და გარეთ განსხვავებული შეხედულებები გსურთ.
თქვენ შეგიძლიათ sway მონაცემები ერთი გზა, და შემდეგ გადაწყვიტოს, რა, ფაქტობრივად, არ მუშაობს, რომ კარგად.
მე ვფიქრობ, რომ ასეთი ძალიან რთული ან არსებობს ნაწილი, რომ აქ ნამდვილად არ მუშაობს,
ამიტომ მე უბრალოდ აპირებს სრულიად უარი თქვას ამ თვალსაზრისით და swap სრულიად ახალი.
ჩვენ შეგიძლიათ კვლავ გამოიყენოთ ძველი მოდელები და ძველი კონტროლერები.
ჩვენ შეგვიძლია გავაკეთოთ ყველაფერი სერვერი და კლიენტი როგორც ჩვენ ადრე.
მაგრამ ფაქტობრივი ტალღის მონაცემები ნაჩვენები იქნება ოდნავ განსხვავებული.
>> რამდენადაც რეალურად განხორციელების დიზაინი გსურთ,
ერთხელ თქვენ გაქვთ რამდენიმე დიზაინის მოიყარა თავი ქაღალდზე ან Photo Shop ან რასაც,
არსებობს მთელი რიგი ინსტრუმენტები, რომლებიც ხელმისაწვდომი თქვენ.
პირველი თქვენ ძალიან კარგად იცნობს რომელიც არის თქვენი HTML, PHP, ან რასაც
ენის თქვენ იყენებთ უბრალოდ კოდექსის გვერდებში თქვენი ნახვა.
თქვენ მუშაობდა ბევრი HTML, რომელიც სახის გაძლევთ ეს tags
რომ თქვენ შეგიძლიათ განათავსოთ რამ, და ძირითადად ეს გზა ორგანიზება თქვენი ტელეფონი.
მაგალითად, თქვენ გაქვთ header იქ, ასე რომ თქვენ აპირებს აქვს header tag,
და ის აპირებს გარკვეული ტექსტის შიგნით, რომელიც ალბათ იქნება კიდევ აქვს.
მაშინ თქვენ გაქვთ sidebar იქნებ რამდენიმე სხვადასხვა კავშირები,
და ვინც ვაპირებთ იყოს ცალკე tags.
ასე რომ, ძირითადად HTML მისი გული გზა გამყოფი up გვერდზე როგორ
თქვენ საბოლოოდ გსურთ დააფორმატე.
ასე რომ კიდევ ერთხელ, თქვენ ნახეთ, რომ ადრე.
თქვენ საკმაოდ კომფორტულად მუშაობს, რომ ახლა,
იმის გათვალისწინებით, რომ თქვენ გავაკეთეთ ბოლო pset იმედია,
ასე რომ არ უნდა იყოს პრობლემა.
>> მაშინ თქვენ გაქვთ CSS რომლებიც ძირითადად ემსახურება ყველა დიზაინი სტატიკური ასპექტები.
ეს იქნებოდა გაუმკლავდეს ყველა ფერები, ყველა პოზიციონირების სხვადასხვა ელემენტები,
, სადაც ისინი მიდიან მიმართ ერთმანეთს,
რამდენად დიდი არიან, სხვადასხვა სახის positionings, რომ თქვენ -
სხვა სიტყვებით რომ ვთქვათ, თქვენ შეგიძლიათ არ რამ დაფიქსირდა, ასე რომ, როდესაც თქვენ გადახვევა ქვემოთ მათ დარჩენა,
ან შეგიძლიათ რამ შედარებით სხვა ელემენტებს.
ყველა რომ სახის პერსონალის არის CSS.
გარდა ამისა, შეგიძლიათ გააკეთოთ სხვადასხვა დეკორაციები, შეგიძლიათ ტექსტის ფერები,
ტექსტის ეფექტების, ყველა რომ მსგავსი საქმიანობები.
Ben მისცა კარგი სემინარი ამ გასულ კვირას,
და მე აუცილებლად შეამოწმეთ, რომ, თუ თქვენ აპირებთ უნდა აკეთებს ზოგიერთი ლამაზი რამ CSS.
CSS3 არის რეალურად უახლესი ვერსია CSS, და ეს შეიძლება გავაკეთოთ ყველა სახის მართლაც ლამაზი რამ.
მას შეუძლია გააკეთოს gradients, შეგიძლიათ აქვს ლამაზი, მომრგვალებული კუთხეები, თქვენ შეგიძლიათ ეს გააკეთოთ ყველა სახის ნივთები
რათა თქვენი ნახვა გამოიყურება უფრო თანამედროვე და ლამაზი.
>> შემდეგი ინსტრუმენტი არის JavaScript და jQuery რომელშიც ბენ ვისაუბრეთ ცოტა შესახებ,
მაგრამ მე ცოტა უფრო შორს შევიდა.
JavaScript, როგორც თქვენ მუშაობდა ეს ცოტა, ან თუნდაც მინახავს ეს ლექცია,
არის ერთგვარი გზა დინამიურად აკეთებს პერსონალის HTML.
HTML, როგორც მოგეხსენებათ, არის სტატიკური, ასე რომ ერთხელ თქვენ გაქვთ HTML თქვენ არ შეგიძლიათ შეცვალოთ იგი.
მაგრამ JavaScript, გარკვეულწილად, არის გზა შეძლებთ შეცვალოთ HTML.
ასე რომ თქვენ შეგიძლიათ ამის გაკეთება, და ეს დიდი, მაგრამ JavaScript ნამდვილად არის ტკივილი მუშაობა.
ეს იმდენად ხანგრძლივი და obtuse და ამის გაკეთება კი მარტივი რამ
მოითხოვს უამრავი ხაზების JavaScript.
ასე რომ, jQuery ძირითადად ბიბლიოთეკა JavaScript რომ ამარტივებს ყველა რომ.
ის ამბობს, okay, თუ გსურთ აქვს კვადრატული ყუთი მოდის მარცხენა
და ქრებოდა შევიდა გვერდზე ისე, რომ ის შუა, in JavaScript, რომ მიიღებს -
მე არ ვიცი, ასი ხაზები უნდა გააკეთოს, და ეს იქნება ტკივილი,
და გამოვიდეს ეს მოძულე ყველაფერი ვებ პროგრამირების.
JQuery თქვენ ძირითადად უნდა ელემენტს-dot-fade-in, ან რამე მაგდაგვარს.
ასე რომ, ძალიან, ძალიან მარტივი ფუნქციები, რომელიც საშუალებას მოგცემთ გააკეთოთ ყველა სახის cool ანიმაცია
და რომ მსგავსი რამ.
სხვა საქმეა, რომ ამ 2 მართლაც კარგი არის უბრალოდ აკეთებს დინამიური რამ
ერთად ნახვა.
ასე რომ, ვიდრე უბრალოდ, რომელსაც თქვენი HTML გვერდი - რომელიც აჩვენებს ზოგიერთი მონაცემები, მაგრამ ფაქტობრივად არ
არაფერი - JavaScript და jQuery მოგცემთ აქვს ღილაკები, რომ თქვენ შეგიძლიათ დააჭიროთ,
და შეგიძლიათ გადაიტანეთ ელემენტები და ხელახლა, რათა მათ და დასალაგებლად მათ, და ახალი ელემენტები
დაამატა ან წაშლილია. თქვენ შეგიძლიათ დაამატოთ წაშლა, რომ სახის რამ.
ასე რომ, jQuery აკეთებს ტონა cool რამ.
და Vipul რეალურად აძლევდა სემინარი დღეს, ვფიქრობ, ერთი 5 საათზე,
ასე რომ, თუ თქვენ შეგიძლიათ გამყარებაში გარშემო, რომ ხანგრძლივი, რომ 5 - ან 4?
ოთხი. უკაცრავად. სინამდვილეში მას შემდეგ ამ, ასე რომ მე რეკომენდაციას
sticking გარშემო, თუ შეგიძლიათ.
JQuery არის სუპერ, სუპერ სასარგებლო, და თქვენ გექნებათ გავაკეთოთ უამრავი მართლაც ლამაზი რამ არის
საკმაოდ ბევრი ნებისმიერი ვებ განვითარების პროექტი.
>> ახლა მე ვაპირებ შეღწევას სახის განსხვავება.
მე უკვე საუბარი ძირითადად შესახებ ინტერფეისი.
ინტერფეისი არის მხოლოდ დიზაინი საიტზე.
მაგრამ არსებობს ერთგვარი კიდევ ერთი კონცეფცია, რომელიც მომხმარებლის, გამოცდილება.
ორი ძალიან განსხვავებული.
ინტერფეისი არის ნამდვილად ნაწილი გამოცდილება.
სხვა სიტყვებით, როდესაც მიდიხარ საიტი, გადავხედავთ ინტერფეისი.
ეს ნაწილი, თუ როგორ განიცდიან საიტზე.
მაგრამ როგორც მომხმარებლის, გამოცდილება უფრო მეტია, ვიდრე, რომ.
მომხმარებელი გამოცდილება, თუ რა შთაბეჭდილება, რომ მომხმარებლის იღებს თქვენი საიტი.
ასე რომ, ცხადია, ინტერფეისი არის ნაწილი, რომ.
და ეს ნამდვილად აუცილებელი ნაწილი, მაგრამ ეს საკმარისი არ არის.
სხვა სიტყვებით, თუ აქვს ლამაზი ინტერფეისი, და ეს ლამაზი და ფერადი და ყველა რომ,
ეს დიდი, მაგრამ თუ მომხმარებელს ღებულობენ თქვენს საიტზე, ხედავს საკმაოდ განლაგება და ის დაბნეული
ყველაფერი, არ ვიცი, როგორ არაფერი, მაშინ აშკარად თქვენ გააკეთა მართლა
ცუდი ნახვა.
ეს ერთგვარი სადაც მომხმარებლის, გამოცდილება მოდის შემოსული
მე ვაპირებ გაიგო ცოტა შესახებ UX დიზაინი - UX მოკლე შესახებ გამოცდილება -
და კეთილი, თუ როგორ შეგიძლიათ დარწმუნდეთ, რომ თქვენ გაქვთ კარგი მომხმარებლის, გამოცდილება.
პირველი ის არის, რომ თქვენ შეიძლება შეიმუშავონ ნახვა, სადაც მომხმარებელს შეუძლია არაფრის გაკეთება, რომ
რომ მომხმარებელს შესაძლოა სურს.
მაგრამ თუ მომხმარებელი ვერ გაერკვნენ, თუ როგორ უნდა გავაკეთოთ იმ რამ -
სხვა სიტყვებით, თუ მომხმარებელს არ აქვს კარგი იდეა, როდესაც ისინი თქვენს საიტზე,
"ოჰ, თუ მინდა განახლდეს ჩემი ნახვა, მაშინ დააჭირეთ ღილაკს, ან თუ მინდა პოსტი
სხვისი კედელი, შემდეგ მე წასვლა მათი კედლის და დააჭირეთ პატარა ყუთი ".
თუ მომხმარებელი არ იცის, რომ, მაშინ ეფექტურად არ აქვს რეალურად
განხორციელებული რომ ფუნქციონალური სწორად.
ნაწილი განხორციელების ფუნქციონირება არის ის, რომ მომხმარებლებს რეალურად შეუძლია გამოიყენოს იგი.
და ეს შეიძლება იმედგაცრუებაა - თქვენ შეიძლება გააკეთოს საიტი და მას შეუძლია გააკეთოს ყველა სახის
მშვენიერი რამ, მაგრამ მაშინ გვექნება ადამიანი გამოსცადოს იგი და აცხადებენ, რომ "მას არ შეუძლია ამის გაკეთება.
რატომ არ შეიძლება, რომ ამის გაკეთება? "და თქვენ ამბობენ, უკან მათ,
"ისე, ეს შეიძლება. თქვენ უბრალოდ უნდა შეხვიდეთ -7 ჩამოსაშლელი მენიუ, ამ გაურკვეველი
გვერდი, რომ მხოლოდ არის ნაპოვნი ბმული ქვედა მარჯვენა კუთხეში "ან რამე.
ცხადია, არ გსურთ, რომ.
გსურთ, რომ იყოს ნათელი თქვენს მომხმარებლებს რა ისინი უნდა გავაკეთოთ,
და ეს უნდა იყოს მარტივი და ინტუიციური მათთვის.
>> სხვა საქმეა, რომ გსურთ ცდილობენ რომ გააკეთოთ, არის, თუ ვინმე აპირებს თქვენს საიტზე
9 გარეთ 10 times გავაკეთოთ აქცია და 1 out of 10 times გავაკეთოთ აქცია B,
თქვენ ალბათ მინდა ფოკუსირება მოეხდინა გამოცდილება action A.
სხვა სიტყვებით რომ ვთქვათ, თქვენ გინდათ ის ძალიან, ძალიან ნათელი, თუ როგორ უნდა გავაკეთოთ ა
უნდა წინა და ცენტრში - გადადით საიტზე, დანახვა; oh, ეს უფლება არსებობს.
ვინაიდან B აშკარად გსურთ იყოს ნათელი, მაგრამ თქვენ შეგიძლიათ დატოვეთ უფრო მეტი
ფონზე.
დავით აძლევს კარგი მაგალითია ლექცია,
რომელიც Boston T სისტემა.
როცა წასვლა Boston T და გსურთ შეიძინოთ ბილეთი,
თქვენ უნდა შეღწევას 5 მენიუები სანამ შეიძლება რეალურად შეიძინოს ბილეთი
ამისთვის $ 2, $ 2.50 ღირებულება, რომელიც, თუ რამდენად სჭირდება ride მეტროსთან
ერთი მიმართულებით.
ეს პრობლემა, რადგან ადამიანები, რომლებიც ცხენოსნობა მეტროსთან
ალბათ უბრალოდ უნდათ ერთ ადგილას, ყიდვა მათი ბილეთი, მიიღოს დაუყოვნებლივ.
მას არ აქვს აზრი, რომ მათ უნდა გაიაროს უამრავი სხვადასხვა მენიუები
იქ.
უკეთესი მომხმარებლის, გამოცდილება იქნება სწრაფი ღილაკს პირველ გვერდზე
რომ უბრალოდ ამბობს, "შეიძინოს ერთი გზა ბილეთი, და რომ დააყენა ყველა სტანდარტული
default ღირებულებების, და მაშინ თუ ვინმე სურს შეიძინოს სხვადასხვა ბილეთის გარდა ამისა,
ისინი ჯერ კიდევ, რა თქმა უნდა, აქვს შესაძლებლობა, მაგრამ თქვენ ოპტიმიზირებულია
საერთო გამოყენების შემთხვევაში, რომელიც მართლაც მნიშვნელოვანია.
თქვენ შეგიძლიათ ნახოთ მაგალითები on Facebook, არა?
თუ წასვლა Facebook და გსურთ განათავსოთ სტატუსი,
ეს უფლება ზედა რაც თქვენ ხშირად გსურთ.
როგორც კი გადიხარ გვერდზე, თქვენ შეგიძლიათ ამის გაკეთება ყველაზე გავრცელებული რამ,
გსურთ.
თუ გსურთ ოდნავ უფრო რთული რამ, როგორიცაა,
ვთქვათ, მე მინდა ჩემი მეგობრის კედელზე და განათავსოთ სურათს ეს -
რომელიც მე მინდა ამის გაკეთება ხშირად, მაგრამ არა ისე ხშირად როგორც განთავსებული სტატუსის განახლება -
ასე რომ, ამ შემთხვევაში, მე აკრიფოთ მათი სახელი ყუთში ზედა, დააწკაპუნეთ მათი ნახვა,
და შემდეგ, მაინც, ეს უფლება ზედა იქ ერთხელ მე მიღებული მათი ნახვა.
ისევ და ისევ, მე ოპტიმიზირებულია პრიორიტეტი ყველაზე გავრცელებული გამოყენების შემთხვევაში.
>> კიდევ ერთი მნიშვნელოვანი რამ არის, რომ ხშირად ადამიანი იქნება ერთგვარი ცდილობენ გარშემო
განაცხადა, okay, ასე რომ მე გააკეთა საიტი და ხალხი მოძიებაში გაუგებარია,
და ეს პრობლემა, არა?
ცხადია, მე არ მინდა ხალხი იყოს დაბნეული შინაარსი ჩემს საიტზე.
მაგრამ გზა უნდა გადაწყვიტოს, რომ არ აქვს რაღაც pop up ამბობდა,
hey, მე ვაპირებ გასწავლით თუ როგორ უნდა გამოიყენოს ეს საიტი.
ნაბიჯი 1 - დააჭირეთ ამ ღილაკს. ნაბიჯი 2 - წავიდეთ აქ.
დარწმუნებული ვარ, რომ ეს გზა გარშემო ეს - ეს არის გზა, რომ თქვენ შეგიძლიათ ვუთხრა ხალხს რა უნდა გავაკეთოთ, მაგრამ ეს
ნამდვილად არ არის ოპტიმალური გზა.
თუ მე წასვლა ნახვა და მოულოდნელად მე დაბომბა ამ tutorial, რომ მეუბნებოდა
რა უნდა გავაკეთოთ და სად წავიდეთ და ყველა რომ, ეს არ fun ჩემთვის.
ეს არ არის კარგი გამოცდილება ჩემთვის.
ეს არის სახის ტკივილი. მინდა დავიწყო აკეთებს პერსონალი.
ხალხი აპირებს დახუროს მათი დიალოგური ფანჯარა,
ან გავიდნენ tutorial, არ ვიცი, რა უნდა გააკეთოს, და მერე ჩივიან იმის გამო, რომ
თქვენ არ უთხრა მათ, თუ რა უნდა გააკეთოს.
გზა მოსაგვარებლად ეს არ აძლევდა რაიმე სახის tutorial ან მიმართულებით -
არაფერი იგრძნობა.
რამდენიც თქვენ შეგიძლიათ თავიდან ის, რაც თქვენ ნამდვილად გსურთ ნახოთ მომხმარებლის რა უნდა გააკეთოს
უბრალოდ ბუნების, თუ როგორ website ასახული.
სხვა სიტყვებით, თუ მივდივარ Facebook გარეშე შესასვლელად,
პირველი, რაც მე ვხედავ მთავარ გვერდზე -
ეს პატარა შესვლისას ყუთში. ასე რომ, duh. მე უნდა შეხვიდეთ სისტემაში ეს უფლება არსებობს.
ამასთან, თუ მივედი Facebook და მე უნდა დააჭირეთ პატარა ლინკები ბოლოში
რომ თქვა, რომ "შეხვიდე" და დანარჩენ გვერდზე იყო მხოლოდ გარკვეული სახის სურათს ან რამე,
მე არ ვიცი, რა უნდა გააკეთოს, არა? მე დაბნეული.
ასე რომ, ეს შეიძლება მითხრათ დაცემას და დააჭირეთ ღილაკს რათა შეხვიდეთ სისტებაში,
ან log in ღილაკს შეიძლება იყოს მარჯვენა ზედა სადაც მე ვაპირებ რომ ნახოთ იგი.
გსურთ ყოველთვის აჩვენებს მომხმარებელს რა უნდა გავაკეთოთ,
და რომ უნდა იყოს თანდაყოლილი გვერდზე თავად.
>> როდესაც თქვენ ფიქრი დიზაინით და დასცინოდნენ up სხვადასხვა გზები
გამოხატავს თქვენს საიტზე, თქვენ ნამდვილად გსურთ ვიფიქროთ, თუ რა მომხმარებლებს ვაპირებთ
უნდა აკეთებს და როგორ შეიძლება ვაჩვენოთ, თუ რა უნდა გააკეთოს.
ერთი ბოლო რამ არის ტესტირების მართლაც მნიშვნელოვანია.
ეს არის დიდი, რომ მიიღოს ვინმე - მიიღოთ მეგობარი, ვინმე არ იცით, თუნდაც -
ვინც მინახავს site სანამ გამოყენება საიტზე.
იმის გამო, რომ თქვენ უკვე მუშაობს საიტზე საათის განმავლობაში, თქვენ უკვე ვნებათაღელვა მას,
და თქვენ იცით ზუსტად რა უნდა გააკეთოს ასე აშკარად თქვენ ვაპირებთ იყოს ტესტირების
რამ, რომ თქვენ უკვე მუშაობს და რომ თქვენ იცით მუშაობა.
მაგრამ თუ ვინმე მოდის და იყენებს site რომელიც არასოდეს გამოიყენება ეს ადრე,
ეს უნიკალური გამოცდილება იმიტომ, რომ თქვენ, ვინც არ აქვს წინასწარი ცოდნა
საიტზე შესვლის, ასე რომ ისინი აპირებენ ეფექტურად არ ვიცი, რა უნდა გააკეთოს
ან რა სახის გამოყენების შემთხვევაში არსებობს მათთვის.
რომ დიდი. ეს არის უნიკალური, რადგან ისინი არსებითად პირი ცარიელი გონება.
მათ შეუძლიათ გითხრათ თუ რამე დამაბნეველი ან გაუგებარია.
მათ მოგცემთ იდეა სწორედ მომხმარებლის, გამოცდილება თქვენი საიტი.
ეს შეიძლება იყოს ძალიან რთული სათქმელია, რომ საკუთარ თავს, ასე რომ ნამდვილად მინდა გარწმუნებთ
როგორც თქვენ განვითარება თქვენი პროექტები - თუ თქვენ აკეთებთ ვებ დაფუძნებული პროექტები -
ხალხს საიტის ჯერ კიდევ გაქვთ რაიმე სახის ფუნქციური დემო.
>> ახლა მე ვაპირებ გაიგო ცოტა შესახებ, თუ როგორ უნდა მართოს ვებ განვითარების პროექტი.
ჩვენ წავიდა მეტი, თუ როგორ შეგიძლიათ გააკეთოთ ტექნიკური back-end მხარე,
როგორ შეგიძლიათ შეიმუშავონ ძალიან კარგი საიტი,
და ეს დიდი თუ თქვენ მუშაობის საკუთარ თავს, არამედ -
მაშინაც კი, თუ თქვენ სამუშაო საკუთარ თავს და განსაკუთრებით თუ თქვენ მომუშავე გუნდი,
პროექტის მართვა ხდება დიდი საკითხი.
თქვენ სახის სმენია პროექტის მართვის სხვადასხვა ფორმით წლიდან
დაწყებითი სკოლის, როცა გვითხრეს, ჯგუფური მუშაობა.
თქვენ უნდა ვითანამშრომლოთ, კომუნიკაცია, ყველა რომ.
რომ ყველა მაინც ვრცელდება, მაგრამ არსებობს უნიკალური გარემოებები ერთად
კომპიუტერულ მეცნიერებათა, რომ გსურთ იცოდეს და თქვენ გვინდა დავრწმუნდეთ, რომ თქვენ გაუმკლავდეს კარგად.
მე ლაპარაკი პირველი ცოტა გუნდი, რომ თქვენ შემოსული
ეს ძალიან მნიშვნელოვანია, აირჩიოთ უფლება ზომა გუნდი უნდა მუშაობა,
და თქვენი საბოლოო პროექტი მე ვფიქრობ, თქვენ გაქვთ შესაძლებლობა აირჩიოთ
1 და 4 ადამიანი თუ არ ვცდები.
თქვენ გვინდა დავრწმუნდეთ, რომ თქვენ არა მხოლოდ არჩევის რაოდენობის ხალხი
რომ გსურთ მუშაობა, რადგან ისინი თქვენი მეგობრები.
გსურთ აირჩიოთ გუნდი, რომელიც არის კარგი ზომის და რომ მიიღებს გაწეული სამუშაო.
არსებობს სავაჭრო off მქონე მეტი ადამიანი წინააღმდეგ უფრო ნაკლები ადამიანი.
თუ თქვენ გაქვთ უფრო მეტი ხალხი, რა თქმა უნდა უფრო მეტი მუშაობა შეიძლება გაკეთდეს
რადგან თქვენ გაქვთ უამრავი ადამიანი, უამრავი კოდი, უამრავი იდეები,
და ეს ყველაფერი დიდი.
მაგრამ იგი ასევე მოითხოვს ბევრი უფრო მართვა და ბევრად უფრო კომუნიკაცია.
სხვა სიტყვებით, თუ თქვენ გაქვთ 4 ადამიანი მუშაობს ამავე პროექტის
და ისინი ყველა რედაქტირების იგივე კოდი, მეტნაკლებად ისინი ყველა სახის უნდა იცოდეს
რა ხდება ასე რომ ითხოვს -
თუ თქვენ დაამატებთ რამდენიმე ახალი ფუნქცია თქვენ სახის უნდა ვუთხრათ ხალხს - I'm დასძინა, რომ ეს,
მე შეცვლის ეს ამ გზით - განსაკუთრებით თუ თქვენ შეღწევას მართლაც ღრმა პერსონალი
ისევე, როგორც მოდელები და კონტროლერები, რომლებიც რეალურად აპირებს გავლენა მოახდინოს, თუ როგორ site მუშაობს.
მთელი გუნდი უნდა იცოდეს ეს,
ასე რომ თქვენ უნდა დავრწმუნდეთ, თქვენ არ ვირჩევთ ძალიან დიდი გუნდი, რომელიც იქნება რთული
რათა, რომ კომუნიკაცია.
თქვენ ასევე არ გვინდა, რომ აირჩიოს პატარა საკმარისი, გუნდი, რომ თქვენ არ აპირებს
შეძლებს დაუკავშირდეს, რადგან ეს მხოლოდ თქვენ.
>> კიდევ ერთი რამ უნდა განიხილოს არის ბალანსი, სადაც ადამიანის ცოდნა.
ეს არის დიდი, თუ თქვენ ყველა ნამდვილად კარგი პროგრამისტები.
მაგრამ თუ თქვენ ყველა back-end ადამიანი, მაშინ თქვენს საიტზე არ აპირებს ძალიან კარგი
იმიტომ, რომ თქვენ ეს დიდი მონაცემთა ბაზა, და ეს იმას სუპერ სწრაფი ძებნის შეკითხვებს -
რომელიც დიდი - მაგრამ როდესაც მიდიხარ, ეს იგივეა 1990 site წითელი და ლურჯი
ყველგან, და ეს არ არის კარგი ან.
გაითვალისწინეთ, რომ ბენ და მე მუშაობა, როგორც გუნდი ძალიან ლამაზი იმიტომ, რომ მე სახის უფრო მეტი
წინა ბოლოს და ბოლოს, ჩვენ ორივე ურთიერთქმედება შუა ბოლოს, და ბენ მართლაც კარგი back-end პერსონალი,
ასე რომ მუშაობს ნამდვილად კარგად იმიტომ, რომ ჩვენ შეგვიძლია შეიმუშავებს ნებისმიერი საიტი და ძირითადად ხვრელების
იმ ადგილზე, რომელიც უნდა იყოს შევსებული შეიძლება შევსებული არც ერთი ჩვენგანი, ან შესაძლოა ორივე.
თქვენ გვინდა დავრწმუნდეთ, რომ არ არსებობს ხვრელების თქვენი გუნდი.
ეს okay, თუ იქ ცოტა გადახურვა.
სხვა სიტყვებით, თუ თქვენ გაქვთ 2 ადამიანს, რომ ორივე კარგი უკან ბოლომდე,
რომელიც შეიძლება იყოს კარგი, რადგან მათ შეუძლიათ დაეხმარონ ერთმანეთს პრობლემებს
რომ ისინი მქონე.
ეს შეიძლება იყოს პრობლემა, თუ თქვენ მხოლოდ 1 პირი, რომელიც პასუხისმგებელია გარკვეული რამ
და ისინი გადაეყარონ პრობლემა, ასე რომ თქვენ გსურთ აქვს ცოტა გადახურვა
მაგრამ რაც მთავარია, მინდა, რომ დავრწმუნდეთ, რომ ყველა შესაძლო ხვრელებს ივსება.
>> ბოლო რამ - და ეს უნდა იყოს აშკარა, მაგრამ ეს ხშირად არ არის.
ნამდვილად გსურთ მქონე fun.
წერტილი ამ საბოლოო პროექტის CS50 და ხშირად წერტილი ვებ განვითარების, ზოგადად,
არ არის უბრალოდ საქმეს რადგან მას სჭირდება აკეთებს.
ნამდვილად გსურთ მქონე fun, და გსურთ მიღების რაღაც
რომ მოტივირება თქვენ მუშაობა.
იმ შემთხვევაში, თუ რასაც თქვენ მიღების არის ტკივილი დასხდნენ და მუშაობა,
მაშინ თქვენ არ არჩევის უფლება პროექტი.
გსურთ აირჩიოთ რაღაც რომ თქვენთვის საინტერესო,
თქვენ ნამდვილად გვინდა, რომ შედეგი, თქვენ აღელვებს, როდესაც თქვენ გაქვთ ახალი იდეა
რაღაც თქვენ შეიძლება გააკეთოს - ასე რომ ყველა სახის პროექტები არსებობს, რომ დარწმუნებული ვარ,
შეგიძლიათ - ყველას აქვს რაღაც რომ მართლაც ინტრიგები მათ
იმ შემთხვევაში, თუ ისინი აკეთებენ ვებ დაფუძნებული პროექტის.
მე ვიტყვი კიდევ ერთხელ ახლა.
თუ თქვენი პროექტი, როგორც ჩანს, ტკივილი და თქვენ არ გსურთ მუშაობა,
აირჩიეთ სხვა პროექტი. აირჩიეთ ის, რაც ნამდვილად შთააგონებს თქვენ.
>> Ben აღნიშნული ამ კონცეფციის iteration ცოტა, და მე მინდა მას ცოტა.
ეს მართლაც მნიშვნელოვანია მუშაობა spurts, სადაც თქვენ მიიღოს რაღაც ფუნქციური.
ეს შეიძლება იყოს დიდი, თუ თქვენ გაქვთ ეს გეგმა ნახვა, რომ აპირებს A, B, და C,
და საბოლოოდ რომ თქვენ იქ.
მაგრამ თქვენ დავრჩებოდით ამ ეტაპზე სადაც თქვენ მუშაობს და მუშაობს ის,
მაგრამ არაფერი არც კეთდება. თქვენ არ გაქვთ არაფერს ვხედავ და ხელშესახები, ფუნქციური რამ.
ის, რაც თქვენ ნამდვილად გსურთ ამის გაკეთება, როგორც ჩანს, სახის ტკივილი ზოგჯერ
მუშაობა რაღაც და შემდეგ სახის ქუდი ეს off ისე, რომ ეს მინიმუმ სტაბილური, გაშვებული
მობილური მაშინაც კი, თუ მას არ აქვს ყველა იმ თვისებით, თქვენ გსურთ.
და იქნებ არსებობს გარკვეული თვისებები, რომ თქვენ ნამდვილად გსურთ დაამატოთ, მაგრამ უბრალოდ ვერ
იმიტომ, რომ თქვენ გსურთ მიიღოთ ამ საიტიდან ფუნქციური წერტილი.
და ასე გსურთ სახის აქვს მთელი განვითარების პროცესში ჰგავს, რომ.
გსურთ დაიწყოს სადღაც ფუნქციური - ან არსებითად იწყება არაფერი -
მაგრამ თქვენ გსურთ მიიღოთ სადღაც ძალიან ელემენტარული და ფუნქციური.
და შემდეგ კვლავ, რათა ერთგვარი ნახტომი და მისაღებად სადღაც ფუნქციური ერთხელ.
თქვენ ნელა ააშენოს, და ეს შეიძლება წასვლა ცოტა ნელა, ვიდრე ეს იქნებოდა სხვაგვარად,
მაგრამ გრძელვადიან პერსპექტივაში, თუ თქვენ მუდმივად მოხდა ამ შუა ადგილზე ეტაპი, სადაც თქვენ
არ რეალურად არაფერს მუშაობს, ეს შეიძლება იყოს მართლაც დიდი იმედგაცრუება
მუშაობა თქვენი პროექტი, რადგან თქვენ ყოველთვის ძალიან ახლოს მიღების ეს სამუშაო,
და ის არასოდეს რეალურად მუშაობს.
გსურთ მუშაობა ამ ფუნქციური spurts,
და თქვენ ასევე მინდა დაკავდით ასახვა ყოველი ერთი.
სხვა სიტყვებით, ერთხელ თქვენ წერტილში, სადაც საიტზე ამჟამად მუშაობს -
მას არ გააჩნია ყველაფერი გსურთ მაგრამ ეს იმას ზოგი რამ -
გსურთ ვფიქრობ, okay, არის ამ საიტზე განხორციელების მიზანია, რომ მე შეიქმნა იმისათვის, რომ გავაკეთოთ?
სხვა სიტყვებით, თუ საიტი აპირებს X, არის ის, რაც მე არ მუშაობდა მიმართულებით X?
არის ყველა ფუნქციონალურობას, რომ მინდოდა იქ?
და უფრო მეტიც, იგი ემსახურება საერთო მიზანს, რომ მინდა?
თუ თქვენ მოძიებაში, რომ თქვენს საიტზე იწყება veer სხვადასხვა მიმართულებით
ან იქნებ რამ მხოლოდ სახის არ მუშაობს out, შეიძლება დრო გადაეტანა gears ცოტა.
სხვა სიტყვებით რომ ვთქვათ, ღირს გათვალისწინებით - ღირს სროლა out იდეები, თუ ეს აუცილებელია
და იმის გათვალისწინებით, მე ნამდვილად ვმუშაობთ, რაც მე მინდა რომ იყოს.
>> მე მჯერა, რომ ჩემი შემდეგი წერტილი. არ შეგეშინდეთ, რომ უარი თქვას იდეები.
მხოლოდ იმიტომ, რომ თქვენ გაატარა ბევრი საათი მუშაობის შესაძლებლობები
და საბოლოოდ მივიღე ეს სამუშაო, მაგრამ ეს ნამდვილად არ აპირებს, ისე, -
ისევე, როგორც ეს არ არის, რომ სასარგებლო ან მომხმარებლის მქონე უბედურება გამოყენებით - ეს ერთგვარი რამ -
არ შეგეშინდეთ, რომ ჩააგდოს ის დაშორებით.
ეს sucks, რომ თქვენ გაატარა ბევრი დრო მუშაობს ის,
მაგრამ საბოლოოდ თქვენ არ გსურთ საიტი რომ სახის ერთად ამ დარტყმები,
სახის სამუშაოს, მაგრამ არ არის, რომ კარგად მსახურობდა.
ასევე, არ შეგეშინდეთ, რომ იკისროს ახალი იდეები.
თუ ვინმე მოდის და ამბობს, hey, რომ საიტი გამოიყურება ნამდვილად cool მაგრამ
რომ არ იყოს დიდი, თუ იგი ასევე გააკეთა ეს?
მხოლოდ იმიტომ, რომ ის, რაც თქვენ არ აპირებდა და რაღაც რომ არ არის თქვენი
specs, რაღაც, რომ თქვენ არ შეიქმნა იმისათვის, რომ გავაკეთოთ,
არ შეგეშინდეთ მიიღოს იგი და შემდეგ მუშაობა მას.
იმის გამო, რომ ხშირად იდეები რომ თქვენ აწარმოებს მთელი კურსი განვითარების
დასრულდება მდე მიმდინარეობს ნამდვილად cool თვისებები საიტზე.
>> მე განაცხადა, რომ ეს ადრე. მე ვიტყვი კიდევ ერთხელ.
ტესტერები სუპერ, სუპერ სასარგებლო.
შეეცადეთ ადამიანები, რომლებიც არ მინახავს საიტზე ადრე შესვლა და ვნახოთ, რა ხდება
რადგან მათ შეუძლიათ არა მხოლოდ შესამოწმებლად სარგებლობა საიტი და მომხმარებლის, გამოცდილება,
მაგრამ მათ შეუძლიათ აგრეთვე შესამოწმებლად ფუნქციონალური გზა, რომ თქვენ არ შეუძლია.
თუ თქვენ გარკვეული ფუნქცია, რომელიც აქვს გარკვეული რამ
და თქვენ იცით, რომ ის აპირებს, რომ იგივე რამ სწორად ყოველ ჯერზე, რომ დიდი.
მაგრამ ეს ხშირად ძნელი ანგარიშზე კუთხეში შემთხვევებში, როდესაც პროფაილი სიძლიერეზე
აკრიფოთ რაღაც, რომ თქვენ არ ველოდებით - სწორედ იმიტომ, რომ თქვენ განსაზღვრული
თვისებები თავს.
ასე, რომ ვინმე მოვა, ვინც არ აქვს იდეა, თუ როგორ გამოიყენოთ საიტზე
და მხოლოდ შესვენება იგი ნებისმიერი გზით მათ შეუძლიათ ამის გაკეთება ნამდვილად მოსახერხებელია, რადგან თქვენ
მისაღებად იდეა, რომელიც სრულიად განსხვავებული პერსპექტივა, რაც თქვენს საიტზე მუშაობს
და რა სჭირდება შეკეთებას.
>> ბოლო, მე ვაპირებ ვისაუბრო ზოგად კარგი პრაქტიკა,
და ვნახე ბევრი ამ წელს CS50, არამედ რეალურად, მართლაც მიმართოს პროექტის ჭრილში.
ერთი არის კომენტარი. ყოველთვის კომენტარი თქვენი კოდი განსაკუთრებით თუ თქვენ მუშაობის დიდი გუნდი.
ეს შეიძლება იყოს იმდენად შემაშფოთებელი უბრალოდ გიგანტური ბლოკი კოდი რომ ვინმე წერილობითი
და იქნებ მუშაობს ის, შესაძლოა, ეს არ მოხდა, მაგრამ თქვენ არ ვიცი რა ეს ასეა,
ასე რომ თქვენ არ ვიცი, არის თუ არა ეს სასარგებლოა თუ არა თუ ეს უნდა იყოს იქ თუ არა,
და თუ თქვენ მუშაობა რაღაც ეს კი შესაძლებელია, რომ თქვენ მუშაობს
იგივე, ასე რომ მხოლოდ ძალიან, ძალიან ფრთხილად უნდა იყოს მზრუნველი თქვენს თანატოლებს
და ჩაწერის კოდი, რაც კარგად არის დოკუმენტირებული.
თქვენ არ უნდა წავიდეს იმდენად, რამდენადაც ამის გაკეთება მთელი რამ, სადაც მინდა, თუ ნამატი
counter აქვს კომენტარი, რომელიც ამბობს, მე დამატებით 1 ამ counter.
ეს არ უნდა იყოს, რომ დეტალურად, მაგრამ რაიმე ფუნქცია, რომ თქვენ ოდესმე წერა
თქვენ უნდა აქვს გარკვეული დოკუმენტაცია, თუ რა, რომ ფუნქცია ზუსტად ასეა,
რა საშუალებებით და რა უნდა დაუბრუნდეს.
ამ გზით თქვენ შეგიძლიათ გამოიყენოთ სხვა ადამიანების კომპონენტების საიტზე
და თქვენ შეგიძლიათ მუშაობა მიმართ მშენებლობის რაღაც დიდი.
>> კიდევ ერთი მნიშვნელოვანი რამ არის გსურთ რეგულარული სუფთა-ups.
Code იღებს ბინძურ. ვერ ვგრძნობ ცუდი თუ თქვენი კოდი არის მხოლოდ სრულიად unreadable და გიგანტური სასადილო.
რომ ხდება ვებ განვითარება ყოველთვის.
თქვენ დასძინა ახალი თვისებები, მოხსნის ძველები. პერსონალის იქნება იქ რომ არ უნდა იყოს.
ეს ჯარიმა, მაგრამ თქვენ გვინდა დავრწმუნდეთ, რომ გაუმკლავდეთ, რომ რეგულარულად.
თქვენ არ მინდა ასეც დაამყარონ იმ წერტილში, სადაც თქვენ უბრალოდ ვერ პოულობენ არაფრის
თქვენი კოდი, და თქვენ არ ვიცი რა არაფერს აკეთებს.
ეს არის ის შემთხვევაში HTML.
ზოგჯერ თქვენ დასრულდება up ერთად ობიექტი, რომელიც არ შეიცავს არაფერს,
და თქვენ სურთ, თავი დაეღწია იმ.
In CSS, თქვენ შეიძლება გულისხმობდა ელემენტები, რომ არ არსებობს აღარ,
ასე რომ თქვენ გსურთ მოშორება, რომ კოდი.
ამ JavaScript, თქვენ ალბათ არ მოიხსნება რაიმე HTML.
ასე რომ, თქვენ გვინდა დავრწმუნდეთ, რომ თქვენ ყოველთვის გაწმენდა, რაც რამ საკმაოდ
რამდენიც თქვენ შეგიძლიათ რეგულარულად.
>> სხვა მართლაც სასარგებლო რამ, რომ მე არ ვფიქრობ, რომ ასახული ძალიან CS50
მაგრამ ღირს მისაღებად შევიდა არის მობილური კონტროლი.
იდეა მობილური კონტროლის როდესაც თქვენ ძირითადად შენახვა ტრეკზე ყველა პროგრესს
თქვენ მიმართ თქვენს საიტზე და თუ ნებისმიერ მომენტში ხვდები, oh, ეს იყო სამუშაო
ცოტა ხნის წინ, მაგრამ ეს არ მუშაობს რაიმე უფრო მეტი, თქვენ შეგიძლიათ დაუბრუნდეთ წინა ვერსიები
და ვნახოთ, რა შეიცვალა მას შემდეგ და რომ ერთგვარი რამ.
პირველადი გზა უნდა გააკეთოს, რომ არის Git და Git არის მთელი ამ სახის სისტემა, რომელიც
მე მჯერა, Tommy MacWilliam მისცა სემინარი გასულ წელს.
თუ წასვლას CS50 სემინარები 2011, ხედავთ მის სემინარი რომ.
იდეა Git ძირითადად, რომ რეგულარულად თქვენ მიღების ეს ვალდებულებები
რომელიც არის გზა ამბობდა საიტზე არის საკმაოდ სტაბილური ვერსია ახლა ასე
მე შეფუთვა it up და გაგზავნის მას მოშორებით სერვერზე, და მაშინ წასვლა რომ სერვერზე
და შევხედოთ ყველა წინა ვერსიები თქვენი კოდი და ვნახოთ, თუ როგორ ვითარდებოდა
და ყველა რომ სახის კარგი პერსონალი.
ასე რომ, ძირითადად იგი.
რამდენადაც ვებ განვითარება, ჩვენ ბედნიერი გამყარებაში გარშემო და უპასუხოს ნებისმიერ
შეკითხვები რამდენადაც ჩვენი პრეზენტაცია.
ეს არის ის. მადლობა. >> [ბენ] მადლობა.
[ტაში]
>> [Billy] შტაბის უფროსი, ვინმეს გაქვთ რაიმე შეკითხვები, რაც ჩვენ დაფარული
ან რამ, რომ ჩვენ არ დაფარული, რომ ისინი იმ იმედით, რომ ჩვენ გვინდა დაფარავს?
ჩვენ მინდა იყოს ბედნიერი უნდა ეპასუხა. ვინმეს?
[აუდიტორიის წევრი] რა დადებითი და cons გამოყენებით Ruby ან გამოყენებით Python?
[ბენ] კითხვა იყო, რა დადებითი და cons გამოყენებით Ruby ან Python
ნაცვლად, როგორიცაა PHP.
დადებითი, რომ Ruby და Python ბევრად უკეთესი languages ​​გარდა PHP.
მინიმუმ ჩემი აზრით, და მე ვფიქრობ, ბევრი სხვა ადამიანების მოსაზრებებიც.
ისინი განკუთვნილია უფრო აკეთებს კომპლექსის პერსონალი,
და ნაკლები whacking ერთად ვებ გვერდები ნამდვილად სწრაფად
ცოტა დინამიური შინაარსის.
Cons არის, რომ იქ ცოტა - იქ უფრო სასწავლო მრუდი
მისაღებად მათ შექმნას.
რომ არის, ისევე როგორც PHP, შეგიძლიათ უბრალოდ HTML ფაილი და წერთ ნაკლებად, ვიდრე,
კითხვის ნიშნის, და შემდეგ წერთ ზოგიერთი კოდი და შემდეგ წერთ კითხვის ნიშნის,
უფრო მეტი, ვიდრე, და შემდეგ თქვენ გაკეთდეს.
სხვა ენებზე, როგორიცაა Ruby და Python,
თქვენ უნდა გაიაროს ცოტა მეტი მუშაობა მისაღებად საწყის site გაშვებული.
არსებობს ასევე - მინიმუმ ეს გამოიყენება იმ შემთხვევაში, - რომ იქ უფრო დოკუმენტაცია
ხელმისაწვდომია PHP მხოლოდ იმიტომ, რომ უფრო მეტი ადამიანი იყენებს.
მე ვფიქრობ, რომ არ არის, როგორც ბევრი საკითხი აღარ.
იქ, რა თქმა უნდა ძალიან კარგი დოკუმენტაცია პერსონალის მოსწონს Ruby ლიანდაგზე
ან Django for Python არის ეკვივალენტი.
PHP არის ერთი, რომ ყველას იყენებს წლების განმავლობაში, და თქვენ იცით როგორ მუშაობს.
Ruby და Python ცოტა ნაკლებად სექსუალურ.
>> [აუდიტორიის წევრი] თუ აირჩიოს შორის ერთი მათგანი უნდა ვისწავლოთ ან შეარჩიო,
რომელიც გირჩევნიათ?
პატიოსნად, მე ვფიქრობ, რომ დამოკიდებული პირი.
მე ბოდიში. კითხვა იყო, რომელიც თქვენ აირჩიეთ ვინმეს უნდა ვისწავლოთ?
მე Python ძვირფასი პირადად.
არსებობს უამრავი ადამიანი, ვინც - მე ჩემი პირველი ვებ dev პროექტი Python და Django.
არსებობს უამრავი ადამიანი, ვინც სურს Ruby ლიანდაგზე ასევე.
ალბათ უფრო მეტი ადამიანი, ვინც იცის, Ruby ლიანდაგზე.
პატიოსნად, მე უბრალოდ რასაც გარშემო, თქვენ იცით,
ასე რომ თქვენ ხალხს შეკითხვები.
>> კითხვა ასეთი იყო - საერთო სერვერები არის სახის მძიმე მუშაობა Python?
ეს დამოკიდებულია თქვენი ჰოსტინგი.
არსებობს მთელი რიგი ვებ მასპინძლებს, რომ პოსტი Python პერსონალი.
WebFaction აკეთებს, რომ, არა?
WebFaction არის ერთი, რომ ბილი და მე არ გამოიყენება გარკვეული პროექტები.
ისინი მართლაც დიდი. ისინი მხარს უჭერენ საუკეთესო ენებზე.
მაგრამ ეს სიმართლეა, რომ PHP ბევრად უფრო ფართოდ დაუჭირა მხარი.
ასე რომ, თუ თქვენ დავრჩებოდით on ვებ მასპინძელი, რომ მარტო PHP, რომ კარგი მიზეზი გამოიყენოს PHP.
>> [აუდიტორიის წევრი] მე უბრალოდ შევიდა სწავლობენ შეკითხვის გარკვეული მონაცემთა ბაზა,
და მე ვიცი, ჩემი SQL არის მთელი ადგილი, მაგრამ მე ცოტა ხნის წინ მიიღო ექვემდებარება -
და აღნიშნა ის. ხედავთ JSON და expandable ბაზაში.
ჩემი SQL კვლავ მთელი ადგილი. როგორ წარმოგიდგენიათ, რომ ხდება?
იქ იქნება მზარდი ტენდენცია უფრო expandable (არ ისმის)?
კითხვა ასეთი იყო - არ ვფიქრობ, რომ იქნება ტენდენცია არასამთავრობო SQL მონაცემთა ბაზებთან.
მაგალითად, როგორიცაა MongoDB. მე ვფიქრობ, რომ ნამდვილად ასეა.
ჩემი რჩევა ძირითადად mySQL დაკავშირებული აქ მხოლოდ იმიტომ, mySQL არის
ინდუსტრიის სტანდარტული.
პირადად მე ბევრად მირჩევნია მონაცემთა ბაზები, რომ არ აქვთ schemos როგორიცაა MongoDB
სადაც თქვენ არ გაქვთ საკითხი, oh, მე უნდა დაამატოთ კიდევ ერთი სვეტი.
ვაი მე, ისევე, რასაც გავაკეთო?
ეს ძალიან რთული გავაკეთოთ, რომ mySQL, მაგრამ როდესაც თქვენ რაღაც Mongo
ეს ბევრად გავალამაზოთ.
სხვა ლამაზი რამ Mongo არის, რომ თქვენი ჩანაწერები რეალურად JavaScript ობიექტები.
არ არსებობს სახის კონვერტაციის ნაბიჯი, სადაც თქვენ უნდა მიიღოს ამ მონაცემთა ბაზაში რიგები
და იქაური მათთვის JavaScript ობიექტს და შემდეგ მათ მავთული.
მე ვფიქრობ, პერსონალის მოსწონს, რომ იქნება ძალიან სასარგებლოა სწრაფი ვებ განვითარება მომავალში.
>> [Billy] Something დავამატებდი, რაც არის საერთო საქმე ისაა, რომ
არ იგრძნონ თქვენ უნდა ვისწავლეთ ყველა languages ​​ჩვენ განვიხილეთ
ჩვენს სემინარს.
ცხადია, ისაა, რომ გადმოგცეთ იდეა რა out არსებობს,
და თუ თქვენ intrigued ნებისმიერი რამ, ჩვენ აღნიშნული შეგიძლიათ Google მათ
და წაიკითხეთ up მათ.
და როგორც აღვნიშნე, არსებობს რამდენიმე სემინარები, რომ გაუმკლავდეთ ზუსტად ეს ყველაფერი.
არსებობს კიდევ უფრო სემინარები, რომ მე არ აღინიშნოს, რომ, ალბათ, მოხვდება
ამ პერსონალის, ასევე.
იდეა ისაა, რომ, თუ გსურთ მუშაობა რაღაც, აქ ინსტრუმენტები თქვენს განკარგულებაშია.
ვერ ვგრძნობ overwhelmed თუ თქვენ ნამდვილად არ ვიცი რა ეს ინსტრუმენტი ზუსტად,
მაგრამ ვიცით, რომ ისინი იქ და, რომ შეგიძლიათ ფართო გამოყენების მათ
by Google.
>> [აუდიტორიის წევრი] რა სახის რამ უნდა გავაკეთოთ, რომ დავრწმუნდეთ, რომ თქვენი ნახვა
გამოიყურება კარგი მობილური მოწყობილობებისთვის?
[Billy] პორტალის მოწყობილობები ცოტა რთულია.
არსებობს 2 გზა შეგიძლიათ მივუდგეთ მას.
პირველი გზა არის ის, რომ თქვენ რეალურად აქვს პორტალის ნახვა.
სხვა სიტყვებით, თქვენ შეასრულოს გარკვეული გამოვლენის დასაწყისში
როდესაც ბრაუზერის მიღების თხოვნით თქვენი ნახვა, რომელიც არც ამბობს
დაბრუნებას ამ თვალსაზრისით - რომელიც იქნება დეტალური for desktop ან ლეპტოპი ბრაუზერები -
და ეს სხვა მობილური მოწყობილობების.
ეს არის ის ადგილი, სადაც ჩვენებები მართლაც ლამაზი, რომ თქვენ საკმაოდ ბევრი გადანაცვლება
ორ გარეთ და აქვს ინტერფეისი, რომელიც მუშაობს ნამდვილად ლამაზად მობილური მოწყობილობებისთვის
და აქვს სრულიად განსხვავებული რომელიც მუშაობს ლამაზად ბრაუზერის მოწყობილობები.
პრობლემა, რომ ეს არის დიდი დრო სჭირდება, რადგან ეს ნიშნავს კოდირება
სრულიად განსხვავებული ინტერფეისი.
სხვა გზა, რომ შეგიძლიათ გააკეთოთ ეს -
ბევრი თანამედროვე ტელეფონები არიან საიტებზე და ცდილობენ გაუწიოს მათ, როგორც ბრაუზერი იქნებოდა,
და ისინი მათი საუკეთესო.
შეგიძლიათ სახის ცდილობენ დარჩება შუქი თანხის jQuery JavaScript თქვენ იყენებთ
რომელიც tends უნდა იყოს, სადაც რამ შეიძლება წავიდეთ არასწორი ცოტა.
ეს არის ერთგვარი გზა, რომ თქვენ უნდა გამოვიყენოთ თუ არ აქვს, რომ ბევრი დრო.
თუ თქვენ გაქვთ დრო, რომ იმუშაოს მობილური ინტერფეისი, რომელიც აშკარად თქვენი საუკეთესო ვარიანტი.
>> მე ვფიქრობ, ზოგადად CS50 პროექტები, თქვენ აპირებს გსურთ აირჩიოთ ერთი ან მეორე.
სხვა სიტყვებით რომ ვთქვათ, თქვენ გინდათ პორტალის app ან გინდათ დესკტოპის ნახვა.
და რომ ერთგვარი განსაზღვრავს, სადაც თქვენ წავიდეთ ერთად, რომ.
მაგრამ თუ გსურთ გაფართოება ის შემდეგ, ალბათ თქვენი საუკეთესო ფსონი არის
რათა კიდევ ერთი ინტერფეისი სხვა.
მე მაქვს ცოტა გამოცდილება WordPress დაფუძნებული საიტებზე.
მე უმასპინძლა პირადი ვებ WordPress for awhile.
იმ სახის ფარგლებში შეიძლება იყოს ლამაზი, ისევე როგორც ძალიან ძირითადი რამ.
ხშირად თქვენ უბრალოდ გადაეყარონ ბევრი customizability საკითხები, თუმცა.
თქვენ მინდა რაღაც გამოიყურება გარკვეული გზა ან გარკვეული გზა
და თქვენ უბრალოდ არ შეგიძლიათ, რადგან ის მყარი სახაზო შევიდა სისტემა, რომელიც
ეს არის, თუ როგორ უნდა გავაკეთოთ რამ, რაც შეიძლება ცოტა პრობლემა.
მას შემდეგ მე სახის უფრო მიდრეკილია მუშაობა საიტები მიწიდან up.
რამ, როგორიცაა წაკითხვა ბაზებისა და რომ ერთგვარი რამ ეს ნამდვილად არ არის, რომ მძიმე აშენება ფარგლებში.
თუ თქვენ ნამდვილად გადაჭიმული დროს, თქვენ, რა თქმა უნდა გამოიყენოთ რაღაც WordPress
ან, რომ სახის რამ ბლოგზე.
სახის რამ, რომ ბლოგზე მაღაზიაში და ამის გაკეთება ნამდვილად არ მძიმე საკმარისი, რომ
თუ თქვენ გაშვებული ნებისმიერი იმ სახის რამ, თქვენ ალბათ საუკეთესო უბრალოდ
რათა შიდა ვერსია.
>> მე ვფიქრობ, რომ ამის შესახებ, ასე რომ მადლობა კიდევ ერთხელ მოდის.
ჩვენ ნამდვილად სარგებლობდა საუბარი თქვენ ბიჭებს და იმედი მაქვს, რომ თქვენ შეიტყო რაღაცები.
[ბენ] ჩვენ მოხარულები ვართ, გაიგო - ჩვენ გვაქვს გასავლელი, მაგრამ ჩვენ ბედნიერი გაიგო უფრო გარეთ
თუ თქვენ გაქვთ სხვა საკითხია. მადლობა კიდევ ერთხელ. [ტაში]
[CS50.TV]