>> DAVID J. MALAN: Yani biz geri döndük.
üst düzey Yani Şu anda konu şimdi
hangi değil, teknoloji yığınları olduğunu Özellikle teknik terim,
herhangi bir seyahati bir yakalama daha var teknolojilerin kombinasyonlarının sayısı
Bu sorunları çözmek için kullanabilirsiniz.
Ve belki de en başlamak için uydurma yolu
beri dillere bakmak olacaktır Ben bir sürü kapalı tehdidi devam
ve odadaki en herkes var muhtemelen en az birinin duydum.
>> Ve böylece neden ayırt etmeye kalkma Bu dilleri ayırt ne--
ne zaman olur ve kısaca bahsetmek Onlar konum nasıl diğer üzerinden birini seçin
tür temelde Farklı ve özellikle
Eğer mühendisleri ile sohbet ederken, ya, kimi işe karar vermeye çalışan
ya da ne uygulama öneri, greenlight
aslında yapmak nasıl kararların bu tür.
>> Yani sadece bazı şeyler kapalı çıngırak izin verin.
insanların sahip dillerin duydum, ne akla geliyor?
C. Tamam.
Tamam, C ++.
Bu da ne?
>> İZLEYİCİ: Python.
>> DAVID J. MALAN: Python.
Mükemmel.
Başka?
Visual Basic.
Java duydum.
Görsel Basic-- olarak da bilinir
VB.
Java.
Bir catch daha tüm .NET, için dil olarak genellikle C # nedir
Söz konusu.
Ve bana söz edelim.
Bu yüzden tekrar bu geleceğiz.
Üzgünüm?
>> İZLEYİCİ: SQL.
DAVID J. MALAN: Scratch?
İZLEYİCİ: SQL.
DAVID J. MALAN: Oh, SQL.
TAMAM.
SQL.
Yani biz aslında ki- come back, o da aradan sonra good-- var.
Başka?
>> İZLEYİCİ: Oracle.
>> DAVID J. MALAN: Yani Oracle, bir dil.
Aslında onlar da SQL kullanmak istiyorsunuz.
Yani bundan sonra koyalım de sonu.
Ve üzgünüm, buraya bir şey?
İZLEYİCİ: Mathematica.
DAVID J. MALAN: Mathematica?
Tabii olur.
Ve MATLAB tür Orada bazen.
>> İZLEYİCİ: R.
>> DAVID J. MALAN: R. burada ele alalım.
Fortran.
Elbette.
Eski okul.
Fortran.
COBOL.
Ben BASIC dışarı atmak gerekir.
TEMEL.
Any--
>> İZLEYİCİ: MATLAB?
DAVID J. MALAN: MATLAB.
Oh, ona yendi.
Şey var mı?
Ben birkaç diğerleri düşünebilirsiniz.
Ve son olarak neydi?
>> İZLEYİCİ: ASP.
>> DAVID J. MALAN: ASP?
Evet.
Aktif sunucu sayfaları.
Bu genellikle altında düşecek diğer diller, bazen C #,
bu yüzden bu kapalı bırakalım.
Ama biz geri geleceğiz çerçeveler ve böyle.
Başka herhangi bir şey?
PHP popüler.
Yakut başka bir şeydir.
JavaScript karıştırılmamalıdır Java ile, başka bir şeydir.
Bu çok naziksiniz.
>> Bu yüzden, kesinlikle zor olabilir liste zaten değil sanki,
Sadece Başlamadan nerede olduğunu bilmek başlayacak.
Ve böylece Neyse, haydi Birkaç açılardan bu yaklaşım.
İlk olarak, kategorize etmek deneyelim bu dillerden en azından bazı
anımsatan iki geniş kova içine Biz mola daha önce vardı sohbet,
nerede, derleme hakkında konuştuk ve kaynak kodu ve makine kodu,
değil nasıl çünkü tüm diller çalışır.
Bu yüzden bir kaç örnek dışında koparmak olacak of-- veya bu modele karşı examples--.
>> Ve sonra, neden biz değiliz uygulamalar hakkında konuşmak
bu gibi dillerde o Genellikle kullanılmaktadır.
Ve açıkçası, olsa bile Bu, oldukça uzun bir liste
Bu listenin sadece bir alt kümesidir olduğunu genellikle bu gün çekeceğine
Sorunları çözmek için.
Bazı diller diğerlerinden daha yeni.
Bazı diller vardır diğerlerinden daha popüler.
Yüzden böyle olması gibi değil Senden önce ezici bir görev
arasında karar verirken bu çeşitli diller.
>> Yani bu yapalım.
Biz, daha önce, kaynak kodu vardı ve sonra biz makine kodu vardı.
Whoops.
Yanlış sözcüğü yazmaya.
Makine kodu.
Ve biz bazı süreci vardı Orta, evet derleyici called--.
Yani derleyici.
>> Ve hangi makine kodu Aslında sonunda çalışır
senin gerçek CPU olacak.
makine kodu diğer bir deyişle, bir en düşük seviye talimatları ortalama
CPU aslında anladığı.
Toplama, çıkarma, taşıma, kaydetmek ve bunun gibi işlemler.
Ve böylece bu ne için model genellikle derlenmiş dil olarak da bilinir.
Belki şaşırtıcı.
>> Yani bu model derlenmiş diller için.
Ama orada çıkıyor dil diğer bir sınıfı
denilen languages-- yorumlanır languages-- yorumlanır
biraz farklı olduğu.
Çalıştırmak, kaynak kodu yazma bir tercüman aracılığıyla onları
ve o tercüman olduğu Ne CPU üzerinde çalışır.
Başka bir deyişle, ne yok Emit görünüşe göre, ne olduğunu?
Makine kodu.
CPU bu sıfırlar ve olanları kendisi sonuçta anlar.
>> Yani bu ilk sürümü ve C gibi diller, gördüğümüz gibi,
Eğer kaynak kodunda yazmak Bu biraz esrarlı var,
ama en azından İngilizce-benzeri tür ve en azından okunabilir
bir kez buna alışması.
Bir derleyici ve dışarı çalıştırmak Eğer, sonuçta, sıfır ve olanları olsun.
>> Bir basitleştirme olduğunu.
Orada bazı diğer adımlar vardır.
Aslında, hiç duydum eğer Dönem "assembly dili"
Bu bir adım önce bulunuyor sıfırlar ve olanları.
Biraz daha okunabilir olduğunu ama yine de oldukça gizemli.
Ve böylece orta adımlar var Bu, aslında, burada devam etmektedir.
Ama çıkış, sonuçta, bu sıfırlar ve olanları.
>> Ancak yorumlanır Dünya, nereye varsa
yorumlanır diller dil, aslında bu adımı atlayın.
Başka bir deyişle, ne zaman Mektup Program, sadece hemen çalıştırın.
Sen derlemek yoktur ve Daha önce olduğu gibi, sonra çalıştırın.
Sadece yazmak ve çalıştırın.
Ve hızlı bir değişiklik yapmak istiyorsanız, Eğer hızlı bir değişiklik yapmak ve onu yeniden çalıştırın.
Yani burada herhangi bir orta adım vardır.
>> Şimdi, program için ben, daha önce yazdım hangi bu "Merhaba Dünya" programı oldu
makul olabilir wonder-- veya makul olabilir
eyalet-- o zaman değildi Benim programı derlemek alıcı.
Sadece böyle yapmış gibi görünüyor.
Ve grafik var derleyiciler sürümleri.
Ben, bir çok gizli bir sürümünü kullanıyorum ancak bir oynat düğmesi vurabilecek
ve aslında yapacağını Sizin için derleme.
Ben programı derlenmiş ve daha sonra ettik Yine, çalıştırmak için, ben sadece bunu.
Ve "Merhaba!", Orada soldaki çıkışları
Yani tüm bu zahmetli görünmüyor.
Ama programlar olduğunda sadece bir, birden fazla iki, üç,
dört, beş satır uzunluğundadır, bu olabilir derlemek için çok daha fazla saniye sürebilir.
Bazen dakika veya zaman yeraldığını derlemek için.
Sonuçta, bazı dünyanın en büyük ürün
işletim sistemleri gibi şeylerdir, Microsoft Word, Microsoft Excel,
yüzbinlerce olabilir hangi veya uzun kod satırları hatta milyonlarca,
ve bu sadece yok Hemen yürütün.
>> Ayrıca, web üzerinde, bu kadar kullanımı moda haline
sadece yorumlanmış diller, kısmen çünkü sen
geliştirici olarak bir değişiklik yapabilirsiniz ve sonra sadece hemen yeniden
tarayıcı sayfası ve hemen sonuç görmek.
Ve böylece, HTML, süre değil Bir programlama dili,
yorumlanır bir dildir.
Ve dün aynı etkiyi gördük.
Sadece yaptıktan sonra sayfayı yeniden yükleyin Cloud9 bir değişiklik ve-- voila--
Yeni bir sonucunu görmek.
>> Yani fark burada ne var?
HTML, hatırlama, açık HTML vardı, açık kafa, açık başlık, yakın başlık,
vb yakın baş, açık karoser ve.
Biz bu etiketlerin hepsi vardı biz oldukça çok ne yapacağını tarayıcı söyle dedi.
Hey tarayıcı, burada bir HTML sayfası geliyor.
Hey tarayıcı, burada başlık geliyor.
tarayıcı Hey, buraya gelir bazı kalın olmalıdır metin.
Ve sonra tam tersini söyle.
tarayıcı Hey, işte bu cesur yüzü metin için.
tarayıcı Hey, bu vücut için bu kadar.
Ve benzeri.
>> Ve böylece bir tarayıcı nedir?
Bir tarayıcı sadece bir tercüman olduğunu.
Bu gibi birisi bir programdır Microsoft veya Google yazmıştır,
Hayatta kimin amacı şudur HTML olarak bilinen bir dil, okuma
ve yorumlamak.
soldan sağa yukarıdan aşağıya doğru.
Ve her zaman bir tarayıcı açık görür aparatı, başlık, yakın dirsek,
o yorumlamak gerekir anlam olarak, ah, o
Ben yolu bu kelimeleri koymak gerekir anlamına gelir Tarayıcınızın üst kısmındaki burada.
>> Yani sadece HTML kodunu ne diyorsa onu yapar.
Ama hayır sıfırları ve olanları var.
Herhangi bir derleme var.
Sen yapmadın.
Tarayıcınız yapmadı.
Sadece ilgili değil.
>> Bu devam eden ruhu Yani konular, bugün ve dün,
bu harika bir özellik gibi görünüyor.
Daha sonra kodu kaydetmek ve sadece çalıştırın ya da yorumlamak.
hiçbir ara adımlar var.
Mutlaka bir maliyeti var?
Tüm upsides olamaz.
Yani bu maliyet ne olabilir?
>> İZLEYİCİ: Uzay.
>> DAVID J. MALAN: Uzay.
Çok emin.
derlenmiş dünyada, var sadece orijinal kaynak kodu,
Ayrıca yaratıyor ve sonra muhtemelen tasarruf
makine code-- sıfırlar ve ones-- ve bu
alan bir miktar almak lazım.
Kesinlikle.
Bu yüzden size daha fazla alan mal oluyor.
Evet?
>> İZLEYİCİ: Tarayıcılar might farklı yorumlayabilir.
>> DAVID J. MALAN: Tarayıcılar might farklı yorumlamak.
Bu doğru.
Ama ben emin değilim iddia rahat
o yorumlanır çünkü bu.
öyle çünkü bu daha adil bulunuyor Bir dilin bir uygulama
kendisi olduğunu belirsizlikleri vardır.
Yani oldukça teyit etmeyelim bu bir, ama iyi önsezi.
fiyat Başka ne ödenecek olabilir?
Andrew?
>> İZLEYİCİ: birleştirerek konum iki adım, sizin bu nedenle
yanı sıra artan karmaşıklık var.
>> DAVID J. MALAN: complex-- karmaşıklığı artış?
Kimin için?
>> yorumlayıcı Yani: KİTLE adım, sen tercüman birleştirerek konum
ve derleyici için sadece çıkılan aşağıdaki amaçlara yönelik
>> DAVID J. MALAN: Tamam, Ah.
İronik olarak, muhtemelen biraz var basit tercüman uygulamak için,
Hatta gözükmektedir rağmen Bu kolaylık verim upsides.
Yani muhtemelen doğru.
Ama bu tür ben, bağlı dil, derdi
ve onlar gitti nasıl Bunu uygulamayla ilgili.
çok daha fazla karmaşıklık olabilir, Aslında, derleyici,
Eğer gitmek zorunda sırf şey şey bu kadar üst düzey
çok düşük seviyeli.
Ama iyi bir düşünce.
>> Yani başka bir deyişle, derlenmiş bir program, Bu sıfırlar ve olanları içine açıldığında,
dil biter CPU konuşuyor
bu tarafında oysa Dünya, program yazdım,
Kod asla aslında, yazdım Gerçek diline dönüştürülmüş olur
Bilgisayar konuşuyor.
sıfırlar ve olanları.
Orijinal, daha insan kalır dost, daha okunabilir bir dil.
Peki ima olabilir Orada, bunu yaparsanız aslında
dönüştürme rahatsız senin çok dil programı
temel bilgisayar konuşuyor?
>> İZLEYİCİ: değil Olabilir bir şey anladın mı?
>> DAVID J. MALAN: Olabilir bir şey anlamıyorum.
Ve bu claim-- olabilir bunu anlamak olmasaydı
bir şey, bu bir hata ya da eksiklik var bir yorumlayıcı bulunuyor.
Yani daha fazla olurdu Bir maliyeti daha bir hata.
>> İZLEYİCİ: Sen erişime sahip kaynak koduna?
DAVID J. MALAN: İyi bir tane var.
Yani burada bir dezavantajı olduğunu erişime sahip gibi görünüyor.
Sen, son kullanıcı, görünebilir kaynak koduna erişim hakkına sahiptir.
Ve bu her zaman doğru değildir.
Ama doğrudur JavaScript durumda,
Biz sonra bakacağız ki mola bugün, hangi
yorumlanmış bir programlama dilidir Eğer kaynak kodunda yazmak olduğunu.
>> Ama bu kaynak kodu transfer alır tarayıcıya sunucudan
ve insan tarayıcısında çalışır.
Yani burada o sadece açabilir Pencere, ben Chrome'da yapıyorum gibi,
ve biz kendimizi olarak, ona bakmak Google ile dün baktı.
Biraz görünebilir anlaşılmaz ama var.
Böylece ödenen kesinlikle bir fiyat.
İZLEYİCİ: Performans isabet?
DAVID J. MALAN: Evet.
Ve diğer biggie var.
Bir performans bulunanlar var.
Eğer bu Çünkü orta adam, hangi kendisi
Bir program aranıza olduğunu ve CPU olarak aksine
Sadece bu ham beslemeye CPU içine sıfır ve olanları,
Bir performans bulunanlar var olduğunu yorumlanmış dil ile almak.
Öyle ki, keyfi bir program Bu bir saniye sürebilir
Bir bilgisayara veya tek çalıştırmak için dakika, burada bir bilgisayarda çalıştırmak için
10 saniye veya 10 sürebilir dakika burada bir bilgisayarda çalıştırmak için.
Genellikle bu olacak değil bir difference-- faktörü kadar 10--
var çünkü Yapabileceğiniz optimizasyonlar.
Ama bu hemen hemen her zaman daha yavaş.
Bu endişe Şimdi, madalyonun diğer yüzü , Bilgisayarlarda iyi, her 12'dir
18 için ay göre Moore yasası, yani speak-- için
sadece daha hızlı ve daha hızlı alıyorsanız.
Ben daha fazla disk alanına sahip.
Ben daha fazla RAM var.
Kim gerçekten önemsiyor?
>> Ve bu tür makul argüman.
Gerçekten de, nedenlerinden biri biz yavaş tahammül neden
dil nedeniyle olduğunu yorumlanır biz insanlar gerçekten fark yoktur.
bilgisayarlar var sadece bu yüzden lanetlemek hızlı kazanılmış.
, Geri gün ise özellikle donanım çok daha kısıtlı zaman,
Eğer, her şeyi daha az vardı çok daha pahalı oldu
böylece her şey iyi o zaman, daha fazla maliyet Eğer gerçekten sıkmak istedi
yapabildin kadar performans.
Ama bu yazma gerekli bir alt düzey, eğer sen,
derlenmiş bir dil ile.
>> Yani bu performans hit almak yok.
Ama genelde, upsides Bugünlerde o değer gibi görünüyor.
Eh, dışında için fikri mülkiyet sorunu.
okunabilirlik bu tür kod, yaparız
Biz JavaScript baktığımızda geri gelmek.
>> Yani kategorize etmek deneyelim Bunlardan bir kaç azından.
Yani derlenen diller arasında, biz C olurdu, C ++, biraz, sorta, Java,
Bunun olmasına rağmen bir istisna biraz için, var nedenleri Ben sadece bir an sana göstereceğim.
C # bu listede olurdu.
Biz sadece daha bakacağız daha modern diller.
Pekala.
Ve bu bol gibi görünüyor.
çitin bu tarafında ise, Biz, JavaScript ve Python olabilir
ve PHP ve Ruby.
Ve için bu yeterli mi daha yeni olanlar?
Şimdilik için bol gibi hissediyor.
TAMAM.
Ve sonra nokta nokta nokta, çünkü liste bitmek bilmiyor.
>> Ve aslında, biz sadece istiyorsanız , Bu-- Vikipedi bir anlamda olsun
derlenmiş diller.
Ben bir alabilirsiniz tahmin ediyorum çok daha kapsamlı bir liste.
Yani burada biz gitmek.
Yani burada çok daha ayrıntılı bir liste değildir.
Ve birileri D tahmin umuyordum bu da varolduğundan bir dil olarak,
ama onlar öyle görünüyor ki D durdu.
aslında bir E. olabilir ancak
>> Ah, aslında, bu olmalıdır Bugünlerde listede.
Swift aslında bir Apple icat ettiği dil
şimdi gittikçe kullanılan Böylece, iPhone geliştirme.
Ama biz geri geleceğiz Bizim tartışma o
sadece biraz içinde mobil yanı.
Yani Swift de.
>> Ve sonra giderseniz dil alanındaki yorumlanır
dil alanındaki sonra burada yorumlanır hem de daha uzun bir liste.
Sadece google Yani ve Bunlar için Wikipedia'da bakmak,
Eğer dillerin her türlü görürsünüz.
Ama amaç, bir Bugün için gerçekten sadece
belki bu aşağı kaynar fikri mülkiyet sorunu
ve son kullanıcı tarafından ve okunabilirliği performans, hem de başka bir biggie.
>> Bu diller arasında Yani, Size verebilir bakayım
dillerin sadece bazı örnek.
Biz geçmek istemiyorum sonsuz bütün dilleri.
Hiç merak ettiniz ne Belirli bir dil gibi görünüyor?
Biz bir an önce gördün.
Neden bir çift yapmayız istekleri bulunmaktadır.
Kim ne görmek istiyorum diğer dil gibi görünüyor?
Evet.
>> İZLEYİCİ: Java.
>> DAVID J. MALAN: Java.
Pekala.
Bu yüzden Java gidelim.
Ve sadece size sample-- vermek için Biz bütün bu dışarı yazabilirsiniz
ama daha hızlı sadece olurdu başkasının örnek kod bakmak.
Pekala.
Yani bu iyi bir örnektir?
Whoops.
TAMAM.
Yani burada Java versiyonu Program I "Merhaba Dünya." Daha önce yazdı
>> Java Yani, sık sık olacak Anahtar kelime "sınıfı" bölümüne bakın.
Sonra bundan sonra bazı isim göreceksiniz.
Sen küme parantezi göreceksiniz gibi biz, daha önce gördüğümüz
ve bazen gitmek Aynı hat, bazen diğer hatlar,
Bu kişisel bir karar türüdür.
Sen gibi anahtar kelimeleri göreceksiniz "Kamu", "statik", "geçersiz."
Ama biz gördün "ana." "Ana" genellikle
Varsayılan işlevin adı kod veya varsayılan yığın o
Bir programda çalıştırmak alır.
>> "Dize."
biz dize daha önce ne demek ki?
Ben tür raslantı kullandı.
Bir dize ne olduğunu?
Kelime.
Bu karakter dizisi gibi.
Bireysel karakterler, geri geri genellikle bir dizi, geri,
Konuştuğumuz olarak.
Ve aslında, bu sözdizimini bakınız Burada, iki köşeli parantez?
Burada Yani, hey bilgisayar, dize dizisi geliyor.
köşeli parantez gösterimi yaygın olduğunu belirtmek için kullanılır.
Ve o zaman muhtemelen can Bir Tahminim ne almak
Bu vurgulanan yok kod yığın muhtemelen mı?
>> İZLEYİCİ: çıktı?
>> DAVID J. MALAN: Evet.
Bu ekrana bir şeyler yazdırır.
Yani "sistemi" bir tür Bilgisayarınıza başvuru.
"Out" bilgisayarınızın anlamına gelir çıkış veya ekran.
Yani "System.out.print ln" muhtemelen demek?
"Ln."
gibi baskı hattı hangi programcılar görünüşte dışında bazı kelimelerin
ve kendi bütünlükleri almak Başka bir deyişle ile kısayolları.
Ama "ln" çizgi, yani baskı hattıdır.
Yani Merhaba "yazdırır Dünya! "Yeni bir çizgi ile izledi.
>> Yani bu kadar.
Ama Java ne olacak olan Çağrı nesne yönelimli.
Ve gerçekten de, sadece vermek için diğer tanımların çift
orada belki o Burada, genel olarak bakınız
Birçok farklı türde diller, ama en yaygın
usul veya zorunlu dillerdir.
fonksiyonel vardır değil diller,
Diğerleri işlevsiz olduğu anlamına gelir.
Ve sonra var Nesne yönelimli diller.
Ve bu belki de en iyisi Birçok dilde sınıflandırılması
Hiç sıralama için seçsin tipik bir ticari proje.
>> Bu, çok fazla olurdu Bir sıçan delikten düşünüyorum
inmek, anlatmaya çalışacağım için çeşitli farklılıklar.
ama diller biz, böylece far-- C gördüm
Bir usul ya da bir zorunlu dil.
Daha yakın zamanlarda icat dil, üzgünüm, olma eğilimindedir
nesne yönelimli, yani onlara diğer özelliklere sahiptir.
Ben bu şekilde açıklayabilir misiniz?
en Hatta oraya girmeyelim.
>> Nesne yönelimli araçlar Eğer implement-- yapabilirsiniz
Gerçek dünya modeli olabilir daha etkili biraz.
İnsan, zaman içinde, vay, anladım etti,
bu dilimde güzel olurdu Bu özelliği ya da bu özelliği vardı.
Biz var Ve bu yüzden dünyanın birçok dilde.
Makul insanlar, akıllı insanlar, katılıyorum ya da katılmıyorum
ve kaçınılmaz çeşit üzerinde bir araya gelerek Hep birlikte yeni diller geliştirmek.
>> Konuşma konusu olan mesele.
Apple in Swift icat muhtemelen düşürücü umutlar
iPhone kalkınma bar, Bir önceki dil alanındaki nedeniyle
, Objective-C hangi olabilir denilen Ayrıca listede olmak burada--
daha gizli ve fazlaydı sert civarında kişinin zihnini sarmak için.
Ve programlama olarak tartışmalı hale geliyor daha erişilebilir ve daha geniş
Hatta insanlar tarafından benimsenen az teknik, goal--
o denemek için çok cesur hedeftir yaparak giriş bariyer düşürmek
diller kendileri başlamak kolay,
ama daha az güçlü mutlaka.
>> Ve bir başka dil.
Neden bir göz yapmayız Python gibi bir şey,
hangi bugünlerde çok moda olduğunu.
Python.
Örnek program.
Bakalım.
"Merhaba Dünya" diller.
Bunu yapalım.
"Selam Dünya."
Bu veriyor Bakalım Bize güzel bir örnektir.
TAMAM.
Yani bu aslında bir tür eğlenceli.
Hiç google Yani "Merhaba Dünya" hangi
İlk programlardan biri olur Hiç bir çağdaş dilde yazılmış,
sadece kavramının bir kanıtı olarak görebilirsiniz Bu uygulamaların her türlü.
>> bu gibi dillerde bazıları Ben bile duymamış ettik.
Ama en Basic gitmesine izin see-- olabilir, Ben kısmen, yıllar önce öğrendiğim tek.
Bu sizin için eğlenceli bir dil oldu , Programcı olarak, numaraya vardı
Çizgilerinizin tüm.
Değil ne aksine Ben yazarken yapıyor
Sarı belge üzerinde pseudocode Daha önce ikili arama için,
Bir telefon defterinin aranması için.
>> Ve böylece, isteseydi başka bir satıra gitmek için,
kelimenin tam anlamıyla yazarsınız, 10 gidin veya 20 gidin.
Ve hatları yazıyorsanız kongre, bu hat 10 yapmak oldu
Bu hat 20 olduğunu, bu çizgi 30, 40, hiçbir şey arasında,
böylece kendinizi biraz oda veren Eğer karar verirseniz, bir dakika bekleyin,
Bazı ekledi olmalıdır bir yerde daha fazla kodu.
Hala dokuz şansını tür vardı Programınızda arasındaki sıkmak
el vardı önce Her şeyi yeniden numaralandırmak.
>> Yani bu ne demek tür Dediğimde, dünya kadar geldi
Yeni özelliklere sahip.
Bir yerde bir yol birisi boyunca fark, çocuk bu aptalca.
Bu sadece yaratır Programcı için çalışmak.
Yani o sadece tür inşa bunun üzerine yeni bir tabakasıyla
endişelenmenize gerek yok ki hangi satır numaraları kodu hakkında
Aslında açık.
>> Peki ne zaman seçebilirsiniz bir dil ya da başka?
Peki, hangi bu dilleri eğilimi yapmak
En duymak Kendi dünyası bugünlerde?
en çok Objective-C açılır edelim.
>> İZLEYİCİ: C #.
DAVID J. MALAN: C #.
Yani bana renk sağlar.
biz bir yere diğer renk var mı?
Yani C #.
Ve C # hakkında ne biliyorsun?
Bahar bir şey akla?
>> İZLEYİCİ: Bir programlama dili var.
DAVID J. MALAN: Bu bir var Programlama dili.
TAMAM.
Bu doğru.
Bu yüzden C # bahsediyoruz.
C # kullanılacak eğilimi Windows ortamlarında,
Böylece Microsoft yazılım yazıyorsanız Windows için, C # çok yaygın olarak kullanılır,
ister masaüstü yazılımı için, ya da , Windows telefonlarında bile telefon yazılımı,
O yaşadım, ya da web üzerinde bile çok.
Ve aslında, belki Kareem bahsedilen ASP önce?
Yani orada da bu çerçeveler denilen şeyler,
hangi biz uzantısı tanıtabilirsiniz.
ASP gibi çerçeveler.
Aktif sunucu sayfaları için altlık.
Ve bu kod ve programlama yolu
genel olarak daha kolay hale getirir web tabanlı uygulamaları yazmak için.
Diğer bir deyişle, bu, süper olur Bir web sitesi yazmak için süper can sıkıcı
Dil C olduğu Daha önce gördüğümüz,
Eğer baskı + F kullanmak zorunda çünkü, Eğer bu anahtar kelimeyi kullanmak zorunda
"Ana" ve kaşlı.
gizemli sözdizimi bir sürü ve yaklaşım uygulamak için
oldukça karmaşık bir şey.
Bir web sayfası.
>> Ve böylece diğer diller geliştirmişlerdir kolay bu tür şeyler yapmak için.
Ve sırayla, insanlar geldi çerçeveler, tür araçları ile
Bunu yapmak o kullanabilirsiniz web sayfalarını yazmak için daha kolay.
Bu yüzden, örneğin, yapmak Bu çok daha somut,
Sadece açmak bana izin Bir an için metin dosyası.
>> Ve dün çağırmak olabilir Biz bir şey söyledi
gibi bu bir web sayfası.
HTML.
Yakın bir HTML.
Bana kafa geçelim ve Sadece burada vücudu yapmak.
Ben istedim varsayalım yazamaz "Merhaba Dünya"
David ancak "Merhaba David," adı anda oturum açan kullanıcı.
neye şey ASP yapmak veya olacak JSP--
hangi Java sunucu pages-- veya diğer çerçeveler herhangi bir sayı
onlar bizatihi, dil değiliz olduğunu.
Onlar sadece gibisin ek yazılım size
ortamınıza kurmak istiyorum sadece program kolaylaştırır.
>> Yani örneğin, yerine yapmak zorunda "Merhaba, printf (" David ")" gibi bir şey
ya da bir şey olduğunu tür ko-mingling--
Biz önce gördüğümüz ettik kod tür Eğer çok basit bir şey yapmak,
"Adı%." Gibi
Ve böylece bu çerçeveler, ASP-- ve benim gibi
Ben alıyorum eğer hatırlamıyorum ASP için sadece sağ sözdizimi.
JSP biraz-- bu doğru değildir?
>> ASP Yani, bu Özel bir sözdizimi tür
Bazı geliştiriciler karar verdik Bu insanlara yardımcı olabilir.
Ve ben daha özlü ifade edebiliriz Örneğin tutucular.
Burada, nereye bir değer koymak Bu değer adı, N-A-E-D değildir
orada saklanan bazı değerdir.
Yani bu bağlamda "adı," Biz bir değişken çağırır.
Cebir değişkenleri vardır x ve y ve z benzeri yer alır.
Programcılar değişkenleri kullanın x, y, ve z daha açıklayıcı,
tipik.
Yani "isim" kelimenin tam anlamıyla bir tür olacağını gibi bir şey için bellek konteyner
D-A-V-I-D, benim adım, ya da kim için Başka web sitesine kaydedilir.
>> Ve böylece bu kolaylık türüdür belirli ortamlarda olsun.
Yani ASP gibi C # ve bir şey olur çok genellikle Windows dünyasında kullanılacak,
onun masaüstü için olsun yazılım veya web sunucusu,
senin sunucuları sırayla özellikle eğer Microsoft Windows ve Microsoft çalıştıran
IIS-- veya Internet Information Sunucu, ben kısaltma alırsam tam--
hangi Microsoft'un web sunucusudur.
>> Peki diğer diller aşina millet,
ya da duymuş daha sık değil?
>> İZLEYİCİ: Python en biliyorum [Duyulamaz] popüler tür.
DAVID J. MALAN: Çok popüler.
Yani burada Python çok sık kullanılır bilimsel uygulamalar veya veri
Eğer bir şey var bilim, Verilerin analiz etmek istediğiniz
ve bir kullanmak istediğiniz Bunun için programlama dili.
R, genel olarak bunun için kullanılabilecek ayrıca, istatistiksel bağlamda.
Python'da çok var özellikleri yerleşik.
Ek Pek çok kütüphaneler gibi insanlar söylüyorlar.
>> Kütüphaneler sadece koleksiyonları kod diğer insanlar
Bunu sen misin kullanabilirsiniz yazdı Bu tekerlekleri yeniden icat etmek zorunda değilsiniz.
Ve böylece Python çok sık olduğunu Veri bilim uygulamalarında kullanılır.
Ama çok yaygın olarak da var: web uygulamalarında kullandı.
Bir dinamik uygulayabilirsiniz Web sitesi Python kullanarak.
>> Ve dinamik web sitesi tarafından, ben sadece statik değil içerik anlamına
gibi biz tarafından, dün yarattı sadece sabit Latince metin kodlama
ve diğer bu tür şeyler, ama yeteneği oldukça
Giriş yapmak için, yetenek satın almak için bir şey, yetenek kontrol etmek
alışveriş sepetleri veya benzeri ile.
Tüm bu dinamizmi ve gerektirir bunlardan biri gibi bazı dil gerekir.
>> İZLEYİCİ: Yani Python kendi var uzatma, gibi benzer [duyulamaz]
DAVID J. MALAN: It does.
Python dünyasında Yani, Django olduğunu Python için çok popüler bir çerçeve.
WSGI var başka mekanizmadır bundan çeşit farklı
ama ruhu içinde benzer.
Bu bir eklenti size izin verir bulunuyor Bir sunucu üzerinde Python kodu çalıştırmak için.
evet other-- var.
Yani bunlar çerçeveleri arayacağım.
Ve bir kötüye biraz öyle.
Bu web sunucusu teknolojisi daha fazladır.
Ama biz basit tutmak ve koyacağım yine de bu sütunda.
>> TAMAM.
WSGI.
Başka aslında thing-- ve let Bana, kendi sütununa bu hareket
Ben kendime bağırma çünkü Aynı kova koyarak.
sunucusuna içine bu koyalım özellikleri, diyelim.
Bu teknik bir terim değil.
>> Yani burada biz WSGI olabilir.
CGI eski olan var dilleri kadar hizmet için teknik
Perl ve PHP, ya da bazı diğerleri gibi.
Yine, ben bu terimleri söz ettik çeşit onları kökleştirmek için çok değil,
ama bu yüzden görürseniz Onları bir şey var
sadece devamını okumak için google.
hiçbir gerçek meyve suyu var Bunlardan bazıları.
>> Ama dillere geri dönelim.
Biz C #, Python hakkında konuştuk.
Başka ne için kullanabilirsiniz Bugünlerde programlama, web?
en hala odaklanalım.
>> İZLEYİCİ: PHP.
DAVID J. MALAN: PHP.
Ve geri o birine gelsin.
Yani PHP çok yaygın olarak kullanılır.
PHP kötü bir rap almak eğilimindedir.
Bir dil uygulamaya gibi başladı belki mutlaka değildi millet tarafından
En iyi dil tasarımcıları.
Ve böylece her türlü okuyabilirsiniz PHP ne kadar kötü hakkında çevrimiçi makaleler.
Ve ne yazık ki, bu Bir tezahürü, kısmen,
sadece dini tartışmalar Bu programcılar arasında patlak.
Ve bu şey akılda tutmakta fayda,
bir bakış açısıyla, bu teknik insanlar için çok kolay
tüm kadar çalıştı almak için onların bazı şeyleri görüşler sağlar.
Ve mutlaka anlamına gelmez bir sesin bağırıyor olduğunu
ya da güçlü olan, kızgın görüş haklı.
Bir çok kez, gerçekten Sadece önemli değil.
>> Ve böylece insanlar sadece savunarak ne olursa olsun Kendi önyargıları ya da konfor bölgeleri bulunmaktadır.
Ve böylece tutmalı akılda yaparken o
bir karar, sadece Birisi diyor çünkü
Bunun için doğru dildir iş, yani doğru olabilir
ama aynı zamanda sadece o olabilir kendi beceri içinde doğru dil
ayarlamak veya konfor bölgesi.
Hangi kötü değil, ama sen farkına varmalıdır Orada bazı bağlam olabileceğini.
Bazı objektif vardır Yanlış ifadeler,
C gibi yanlış dil kullanmak web uygulanması için bugünlerde
neredeyse her zaman.
Ama bu mantıksız değil Bunlardan herhangi söylemek
Biz bugüne kadar çember ettik yanılıyorsunuz.
>> PHP birçok sürümleri geçti.
Yani dil sürümüne sahip olma eğilimindedir bunlarla ilişkili sayılar.
PHP, şimdi, sanırım, kadar sürüm 7 bu yüzden oldukça uzun bir süre için yaklaşık edilmiş.
Ve dil, yeni olsun genellikle yeni özellikler olsun.
Ama bu dikkatli olmak zorunda Web sitenizin olmuştur çünkü eğer
PHP sürüm 7 uygulanan ancak Eğer, web sitenizde çalıştırmak için çalışıyoruz
ya da belki dış kaynaklı ettik kodunuzu geliştirme
başkası ve postayla Size o ya da size gönderebilir
ve onlar, koymak burada söylemek Web sunucusu bu,
Web sunucusu birkaç ise o olsun outdated-- yıl
Kendi sunucu veya bir web host-- aslında çalışmayabilir.
Yani bu tür vardır şeyler birisi
dikkatli olmak gerekiyor Bir siteyi yükseltirken
ya da ilk kez uygulanması.
>> Daha önce JavaScript duydum.
Yani JavaScript bir ilginç bu bir daha genel olarak
istemci tarafında, biz göreceğiz aradan sonra hangi
bu kullanıcının tarayıcısında çalışır anlamına gelir.
Ama aynı zamanda çalıştırabilirsiniz JavaScript bu gün
denilen şey kullanarak Node.js, burada node.js
çalıştırmak için bir mekanizmadır JavaScript kodu sunucu tarafında,
Bunun yerine Python veya kullanma PHP, ya da diğer tür diller.
>> JavaScript özellikle uygundur sohbet uygulamaları ve gerçek zamanlı için
uygulamaları, PHP büyük değil oysa şey uygulanması için dili
Bir sohbet sunucusu, kullanıcıların gibi sürekli ona bağlı kalın.
PHP bir ziyaret beni daha fazla olduğunu bir zamanlar, bir sonuç geri almak,
ve sonra başka bir bağlantıyı tıklayın bazı Bundan saniye veya dakika.
Oysa node.js ve JavaScript olabilir kalıcı bağlantılar için daha fazla kullanılır.
Eğer şüpheli diğer diller genellikle web şeyler için kullanılır?
>> İZLEYİCİ: jQuery bir çerçeve olurdu?
>> DAVID J. MALAN: Güzel bir soru.
Ne.
Bir kütüphane, jQuery çağırır Yine bir kütüphane kodu sadece bir demet
başkasının sahip olduğu Yazılı Genellikle bu
bazı sorunları çözer bu, umarım, kolaylaştırır
sizin için iş yapmak.
Ve bana bir örneğini yapalım ağ-bağlamında, bu.
>> web bağlamında var Bu dil, JavaScript,
daha sonra göreceksiniz ki, bu sayede sizi bu-- gibi bir şey diyebilirsiniz
"Document.getElementById."
Ve ben dün ne dedin?
İlk olarak, bence, ben verdim benzersiz kimlik oldu Bu gibi görünüyordu bir elemana.
İlk "p id =" ">" ve ardından biz "Lorem ipsum" gibi vesaire.
Ben bir program yazmaya olsaydı Yani JavaScript şekilde işlemek için
web sayfaları değiştirmek biz dün ile oynuyordu,
Ben bu kullanmak kod vurgulanan satırı
HTML söz konusu pasajı almak için Benim sayfasından, söz konusu düğüm,
biz onu arayacağım olarak.
>> Ancak, jQuery, yerine yazma Ham JavaScript code-- olan bu,
Sadece kutudan, bu nasıl var yerine sadece söyleyebilirim bu-- yazmak,
"#ilk."
Bu eşdeğerdir.
Ve böylece bu çok sadece dayalı gizemli bir örnek ne belki
jQuery kullanarak için argüman nedir?
Neden bir geliştirici gibi bir kitaplık kullanmak Bu izole örneğine dayanarak jQuery,
belki?
>> İZLEYİCİ: Az kodu.
>> DAVID J. MALAN: Evet.
Daha az kod.
Bu tip sadece hızlıdır.
kontrpuan olduğunu o korkunç görünüyor.
Eğer gerçekten soldan sağa doğru okuyamıyor.
Aslında, çoğunlukla çünkü noktalama şimdi yerine gerçek sözler,
Ben biraz bu çıkarabiliriz "Document.getElementById" alır
kendi kimliğine göre belgeden bir unsur.
Gerçekten böyle kullanabilirsiniz Burada bu şeyden anımsatıcılarını.
>> Yani bir ticaret kapalı.
gelen bir gelişmişliği var sık sık, özellikle, kütüphaneler kullanarak
jQuery gibi.
Ama gerçek jQuery tür sahiptir arasında bir de facto standart haline
böylece hemen hemen herkes bu JavaScript kodu yazıyor günler
jQuery falan kullanır bunun gibi, ve artık yazar
Böyle bir ayrıntılı ifadeler olarak Bu, yine, çünkü insanlık
öğrendi, vay, oldu kaçırılmış bir fırsat tür
hayatımızı kolaylaştırmak için.
Yani insanlar hayatlarını kolaylaştırmak.
İyi soru.
>> Diğer diller dikkate.
Ben bu arasına söyleyebilirim liste Yakut oldukça popüler.
Ve böylece dünyada Yakut, bir çerçeve var
çok popüler denilen Raylar.
Yani Ruby on bir yaygın ifadesini kullandı.
Ayrıca bu dünyada, bana izin Web şeyler için daire Java,
nerede Java dünyasında Eğer JSP veya Java olabilir
ortak bir teknolojidir Servlet'ler.
Ve bu kullanmanın sadece tekrar yolları olduğunu Bir sunucu ortamında bu dil.
>> Peki bu ne anlama geliyor?
Eğer fiziksel var ise Sunucu, kelimenin tam anlamıyla olur
Web sunucusu yazılımı indirmek ve bu şekilde yüklemek
Eğer biri için destek olması Bu çerçeveler, hangi ile
Da, bir ya da kullanabilir Bu dillerin daha fazlası.
Ve gerçekte, sizin için kaydolup Bir web barındırma veya bulut gibi bazı
hizmetleri konuştuk hakkında dün, sık sık
şeyler sadece birlikte geliyor Sizin için makinenin yapılandırması.
Bunu manuel kurmak gerekmez.
yaptığın Ama eğer, bu nerede rolü Sistem yöneticisinin, tabiri caizse,
devreye giriyor.
O ya da o aslında yapacağını Sizin için bu tip şeyler,
ya da sözde yöneticisi Sizin için bunu sık sık olur.
Pekala.
Bu burada bazı Herhangi bir sorunuz?
Veya herhangi bir fırsat olarak Tüm diller hakkında sormak için?
Altyapıları?
Sonra beni tanıştırayım Sadece bir diğer kütüphane
bu da bu gün çok yaygındır.
Bu liste sonsuz gidebiliriz.
>> Ve bu kütüphane tür bir gözünden düşmeye başlıyor.
Bu civarında olmuştur.
Bu tarafından popüler oldu bir süre heyecan.
Ve şimdi web sitelerinin bir sürü, geliştiriciler bir sürü kullanabilirsiniz.
Ancak yeni şeyler geliyor dışarı ve birlikte gelen.
Ama bana sadece sana bir anlam vereyim ne bir kütüphane kullanımı anlamına gelir.
Yani yine, JavaScript çok popüler bir dil.
CSS, ya da Cascading Style Sheets, dün konuştuğumuz.
Bu da, her yerde olduğunu.
Hiç kimse bir web sayfası bugün yapar HTML ve CSS minimal kullanmadan.
Ama her zaman kolay değil Bazı şeyleri yapmak için.
>> Ve böylece beni getbootstrap.com gidelim.
Whoops.
Biz büyü nasıl bu değil.
Getbootstrap.com, burada bana yol gidiyor
Bu kütüphane açılış sayfasına.
Bu yüzden cömertçe çağrı kendilerini çerçeve, burada
, Çeşit çeşit adil ama ben hala onu çağırır
bir çerçeve daha kitaplığı daha fazlası.
Ama bunlar sadece tartışılabilir semantik vardır.
Beni kendi CSS sekmesine gidelim ve Bana böyle bir şey için gidelim.
>> Yani bizim formlar benzediğini hatırlamak Cloud9 dün gibi?
Oldukça çirkin oldu.
Old school düğmeleri.
Ben düğme gri olduğunu düşünüyorum varsayılan. Ve her şey gerçekten
Oldukça okuyamayacağı biçimlendirilmiş.
Yani isterseniz web formları bakmak Biraz beni burada yakınlaştırmak izin nicer--.
>> Ve güzel Ben gerçekten sadece tarafından çok nitpicky estetiği anlamına gelir.
Yani e-posta kutusu vardır vardır nasıl fark buna bir yuvarlak dikdörtgen köşeler.
Yani orada biraz daha temiz.
kelime-posta bildirimi Ben yazmaya başlayana kadar orada
ve o gider.
Yani güzel bir özellik.
şey tür nasıl fark , Güzel parlayan olan bu biraz sizin
tarayıcınızdan ücretsiz olsun, ama bu biraz da kütüphaneler olduğunu
Diğer insanların sahip olduğu kod Size bunu vermek yazılı.
>> Böyle bir şey Bana şifre verir.
Bu düğme biraz daha seksi olduğunu varsayılan. Şu anda çok moda.
Hiç iOS 7 beri ya da öylesine, Dünya, çok düz aldı
dünyanın ise daha önce gölge, bir sürü bir sürü
simgeleri yansımalar.
Çok giyim dünyada olduğu gibi, gelip moda trendleri var.
Şimdi her şey telefonunuzda düz.
>> Aslında, düğmeler üzerinde senin iPhone şimdi sadece mavi bağlantılar vardır.
sık sık hatta dairesel düğme yok.
Yani bunlar sadece şeyler Bu ve dışarı çıkmak
vogue ve böylece bu nasıl olabilir olduğunu daha modern görünümlü bir web formu yapmak.
Düğmeler.
Yani Bootstrap güzel düğmeleri bir sürü vardır.
mavi düğmeleri istiyorsanız Yani, yeşil düğmeler, mavi, turuncu, kırmızı.
Bootstrap kolaylaştırır Bunları yapmak için.
Bunlardan türlü Bu kesinlikle olabilir
CSS ile ve ile dün yapmış HTML, ancak boyun sadece bir ağrı.
Ve bunun yerine ne Bootstrap olur Yapmanız var böyle bir şey olduğunu.
>> İsterseniz bir button-- bu çıkıyor Biz yesterday-- kullanmak vermedi bir HTML etiketi
ve bunu bakmak istiyorum Bu linkine gibi,
kelimenin tam anlamıyla sadece bunu bir sınıf vermek, hangi biz dün hakkında konuşmak yaptı
"Btn-başarı btn." Bir
>> Neden bu kelimeler?
Twitter, Bootstrap yazarları, Bu sözlerle gündeme geldi.
Onlar denilen olabilir istedikleri onları şey.
Ama ne şimdi alıyorsanız olduğunu Bu durumda, Twitter de başkası,
Bir yapabilirim nasıl anladım etti düğmesi, güzel ve temiz ve yeşil görünüyor.
Onlar bu işlevselliği paketlenir CSS sınıfında, sözde "btn"
ve "btn-başarı," Bize herhangi bir can ve böylece şimdi bile düşünmeden kullanabilirsiniz
o.
Bu yüzden uzak soyutlamak Bir linkine kavramı
bu yüzden umurumda gerekmez bunu kendimiz uygulamak.
Biz aslında uygulama odaklanabilirsiniz bizi ilgilendiren şeyler.
>> Burada aşağı doğru ilerleyin varsa.
Ekrandaki hata mesajları.
Bazen küçük bir mesajı istiyorum Tarayıcınızın üst görünmesi için.
herhangi birimiz bazı yapabileceğini çaba, dünkü dersten sonra,
ama neden rahatsız olur?
Böyle bir ilgi çekmeyen var estetik detay.
en üstünde bekletin Bootstrap omuzları
ve onları bize bu gibi şeyler vereyim, biz kelimenin tam anlamıyla, bir kırmızı kutu almak için nereye,
sadece bir paragraf yapmak zorunda üzgünüm of-- bir sınıf ile etiket.
"Bg-tehlike" bize verecek Bunun yerine bu kırmızımsı kutusu.
Şimdi gidelim daha ilginç şeyler.
Ben üstüne geri giderseniz Bu sayfa ve Bileşenleri gitmek
şimdi dünya daha ilginç olur.
Örneğin, çok yaygındır Böyle açılır menüler.
Bu mutlak olurdu Ağrı uygulamak.
Ve o uzun değildi önce biz programcılar
Bu uygulamaya olurdu Sıfırdan menülerin türlü.
>> Ama böyle bir ortak paradigma Bu Bootstrap gibi kütüphaneler
Sadece bir yapma becerisi kazandırmak çok daha kolay, çok menü açılır.
Bunu yapmak için hiçbir tek yolu var, ama belgeleri okursanız
Bunu görürdünüz, tamam, ben kullanmalıyım Bu HTML Ben bir açılır menü isterseniz
o gibi davranır.
>> Benzer şekilde, aşağı açılan düğmesine gidelim.
Yani bu daha da meraklısı olduğunu.
Ben istiyorsanız bu bir düğme gibi bakmak ama o küçük üçgen demektir
Bunun üzerine tıklamanız gerekmektedir ve bu menü olsun, bu
JavaScript denilen bir dil kullanıyor.
Ve hepimiz uygulamak JavaScript bu.
Fakat yine de, bu bir tekerlek Eğer yeniden icat istemiyorum.
Sadece onu almak istiyorum Bunun için raf kütüphane.
>> bir şeye gidelim gibi ilerleme çubukları.
Yani böyle bir şey tür serin.
Hiç bir ilerleme gördüm eğer ekran boyunca hareket çubuğu,
sık sık uygulama sadece bir iplik simgesidir.
Aslında, sadece bir kenara olarak, let Bana ne olduğunu Ajax-- gidilir?
Ajax bilgi?
Whoops.
Ajaxinfo.
Bana adresini hatırlayalım.
Oraya gidiyoruz.
>> Hiç bazı animasyon gördüm eğer öyleyse sayfa yüklenirken, ya da düşünme iken,
ya da, tasarruf, ya da bir şey yaratmak Bu gibi animasyonlar görebilirsiniz.
Yani bir şey bakalım Burada bunun gibi,
ve en bir ön plan rengini seçmenize izin tür dost hissediyor yeşil.
Ben bu tıklayın miyim?
birini gel.
TAMAM.
Biz sırf kırmızı gidersiniz biz alıyoruz budur.
Yani burada biz buna sahip.
>> Hiç bir ekranda bu gördüm eğer öyleyse, bu sayede aniden görünür ve daha sonra
kaybolur aniden, ne Bu o uygulama var?
Peki, bu sadece bir GIF.
G-I-F. Ve bu bir animasyon olan sadece anlamına gelir, dosya
eski bir okul çizgi roman gibi.
Farklı sadece bir demet var gidiyor çerçeveleri [kekemelik]
ve sadece tekrarı.
Ve yaratıyor Hareketin yanılsama.
>> Yani en kısa sürede bir sayfa yapıldığı gibi yüklerken veya bir şey yapıyor,
Bir programcı ne yapar?
Eh, o sadece bu görüntüyü gizler.
Böylece tüm bir ilerleme çubuğu tür olduğunu bir İzlediğiniz bir film gibi.
Sıralama aslında habersiz konum aslında bir şey yapıyor değil ki,
sadece hareket ediyor.
>> Ve o zaman, ilerleyen bitince, onlar sadece gizlemek veya kapatın.
Ve hepsi sihirli orada oluyor.
Bootstrap size verir biraz meraklısı bir şey,
bu sayede aslında can gider olarak bir yüzdesini görmek,
ama çok adil tür Basit bir animasyon.
>> Biraz nihai bakalım Burada daha karmaşık örnekler.
Bir modal gibi bir şey.
Herkes bir kalıcı ne olduğunu biliyor mu?
Bir kalıcı pencere genellikle gerekiyordu biri
ön planda kontrol altına almak için ve başka bir şey yapıyor engelleyebilir.
Bu tür kullanıcının zorlar ekranın ortasına dikkat,
onları kilitleyerek, tipik, başka her şeyi.
>> Bu demo, başlatmak Yani Ekran genellikle gri olacak.
Peki, biz bunu gri yapabilirim?
Eh, biz muhtemelen sadece Arka plan rengini değiştirdi
gibi biz dün ya da böyle bir şey.
Belki de bir bindirme var yarı saydam olduğu.
Ve şimdi yapabilirsiniz fark Bu gibi fantezi şeyler.
Hiç bir düğmeye tıklayarak Yani ve beliren küçük bir pop çıkmak istiyorum,
bunu yapabilirsin.
Ve böylece kim evet Bay Kane umurunda?
>> İZLEYİCİ: Bootstrap Yani, o dahil olsun,
dün gibi o kadar basit CSS stilleri sayfasını mi?
DAVID J. MALAN: Gerçekten.
Gerçekten iyi bir soru.
Beni Başlarken gidelim.
Ve evet.
Tüm için yapmak zorunda kullanım Bootstrap esas kopya olduğunu
ve bu üç uzun satırları yapıştırın kendi web page-- üst kısmına kod
senin page-- başkanı ve konum ve çalışıyor.
Ve yapmanın farklı yollarını var o, ama bu basit olurdu.
>> Yani bu bütün hakkında yararlı ne?
Eh, sen değilsin eğer çok Bir web sitesinin uygulayıcısı
ama bunu tasarlamak için çalışıyoruz, ya Birini sağlamak istiyorsanız
tel çerçeve şemaları ile, tabiri caizse, Neyin ya da sadece sanatçının renditions
Eğer ben bu kadar, yapmak istiyorum gün, sık sık bir siteye gidecek
Bootstrap gibi nerede ben eğer şey-- uygulamak istiyor
Son zamanlarda kampüste gibi biz uygulamak istedim
gezinmek için web tabanlı bir araç Harvard'ın ders katalog,
öğrenciler için daha kolay hale kurslar göz atmak için
ve kurslar eklemek alışveriş listesi, tabiri caizse,
tür ne karar onlar almak istedim.
>> Ben hayal etmeye çalışıyordu kendimi, ne maddeler olur
Bu oluşturmak için kullanmak ister misiniz?
Kullanıcı arayüzü ne gibi olurdu?
Ve tıpkı bir site üzerinden bakarak Bu veya benzeri kütüphane siteleri,
Eğer, vay, ilham kazanmak için olabilir Bu Widget ve bu Widget kullanabilirsiniz,
ve bu widget.
Ve sonra gerçekten ne programcı başlar
Özellikle bu bu günlerde, yapmak web programlama daha modern dünyada,
Programlama artan olduğu Birlikte bir şeyler kablo hakkında.
Sayılır, raf bu kalktıktan Bu raftan, kapalı raf bu,
ve akıllı bir varlık Bu noktaların her bağlamak için,
ama sonuçta yine bir şeyler inşa etmek başkalarının omuzlarında duran,
Böylece bir ay geçirmek olmadığını menü aşağı bir aptal damla uygulamak,
hangi yapmalı aslında zor Eğer bu Chrome'da çalışmak istiyorum
ve IE ve Firefox ve herhangi bir Diğer tarayıcılar sayısı.
bu zengin olmasının nedeni budur ticari ve açık kaynak yazılım
sanayi de.
>> İZLEYİCİ: Yani Bootstrap güncellendi olsun demek ve sonra bağlantıları güncelleştirmek zorunda?
>> DAVID J. MALAN: It does.
Evet, öyle.
Bootstrap sürüm 3.3.6 şu anda.
Ve sanıyor- olur genelde neyi Bu söz aslında değer.
Genellikle ne var semantik sürüm olarak bilinen
Dünyada sistemi.
Herkes bunu yapar.
>> Ama sürüm numaralarını gördüm eğer formun olduğu x.y.z--
yani örneğin, ilk sürümü Bir programın 1.0.0 olabilir.
Ya da eğer çok beta veya kullanımı anlamına gelir, hatta alfa durumu,
Kendi risk, öyle değil prime time için gerçekten hazır,
hatta 0.0.1 başlayabilir ya da bazı tür atama.
Ama yazılım versiyonu başlarsa 1.0 ya da eşdeğer 1.0.0
tipik ne bu yaygın days-- olmasa omnipresent-- olduğu
eğer bir şirket ya da bir Bireysel programcı düzeltmeleri
Bazı parça bazı böcek Yazılımın gerçekten
kimin düzeltme bir hata, olmamalıdır oldu o değişmez Bay Kane de etkisi sizi
Programın davranışları, Sadece bir şey giderir
Bu çalışma değildi properly-- zamanki
Orada z değerini güncelleyin.
Hangi Kareem gibi birine demektir sadece kendi web sitesinde gidebiliriz,
körü körüne sürüm numarasını değiştirmek 1.0.1 için 1.0.0 den, o gemi kaydetmek
ve teorik olarak, gerek o sadece kırık var endişe
kendi web sitesinde nedeniyle bazı işlevleri eksikliği,
başka bir şey kırdı çünkü.
>> Öte yandan, eğer programcı ya da bazı şirket
bazı önemli hale getirecek işlevselliği ekler değişim,
Ben bizi güncelleme olabilir Ben aslında çünkü 1.1.0
Kütüphanenin davranış değişikliği.
Sana belki daha fazla işlevsellik veriyorum.
Son olarak, eğer ben aslında vardı temelde bu yüzden yazılımı değiştirme
çok birçok kıracak o Kullanıcıların web siteleri veya uygulamalar,
sonra bu modelde, için, minnettarım Çok büyük sürüm numarasını yükseltme,
hangi bir kırılma değişimdir.
Başka bir deyişle, ben olabilir Bu damla için durdurulan destek
açılır menü.
Eğer 2.0, yarım yükseltmek Yani Web siteniz çalışmaz duruma gelebilir.
Ve bu bir sinyalin tür ne olarak topluma
yükseltme yapımında yer.
İyi bir fırsat yükseltmek için.
Diğer sorular?
Pekala.
Peki en bir finalinde bir göz atalım programlama bu segmentteki konu
teknoloji yığınlarının, yani mobil ilgili.
>> Yani cep telefonu dünyasında bugün Eğer have-- ve iPad'ler ve yüzeyler,
ve tüm bu tür size sahip devices--
seçimler ne zaman bir sürü o uygulanması konusunda
bir uygulama veya bir web sitesi için müşterinizin mobil cihazlar.
Dolayısıyla, sadece devlet açık, belki de bu gün,
platformlar için ne Mobil alanda geliştirmesi?
Ne cihazlar isteyebilirsiniz uygulamanızda veya web sitesi ile destekliyor?
>> İZLEYİCİ: Elma.
DAVID J. MALAN: Tamam.
Yani Apple cihazlar.
Böylece iPhone anlamına gelir ve iPad ve hatta belki de iPod anlamına gelir.
Başka?
Olivier?
>> İZLEYİCİ: Android.
>> DAVID J. MALAN: Android.
TAMAM.
Yani Android telefonlar, Android Tabletler, Android pazar
bile Messier çünkü-- ve Hatta Apple dağınık hale gelmektedir.
bir zamanlar oysa iPhone belirli bir boyutu oldu,
ve iPad belli bir boyutu oldu, ve iPod şimdi, belli bir boyutu oldu
Biz iPad Minis ve ince olması olanlar, ve iPhone 6 Plus ve 6.
Bir karışıklık oluyor.
Bu Android dünyası oluyor.
>> Ve ben haddeleme tür bu demek gözlerim yüzünden bir geliştirici en
perspektif, öyle bir boyun zaman ağrı
Eğer 'Steve Jobs yok mutlak kontrolü vizyonu
Bu özellikleri her bitti.
Onlar çünkü Apple hala yok bina donanım olanlar.
Ama bu güzel bir şey varsa, bu Ben Bir yazılım geliştiricisi değilim,
sadece bilmek benim iPhone hep gidiyor
Çünkü bu büyük olmak ben hep biliyor demektir
ne kadar ekran gayrimenkul ben.
Yani bir simge koymak istiyorsanız Sol üst köşedeki,
tam aynı olması için gidiyor her müşterinin cihazda yerleştirin.
>> Fakat iPhone dünyasında 6s ve iPhone 6 Artılar
ve Android dünyasında telefonlar, tüm harita bitti.
Ve böylece program zorlaştırır şeyler, özellikle kullanıcı arayüzleri,
Şimdi düzenlenmesi başlamak zorunda, çünkü Kullanıcı arayüzleri nispeten değil
kesinlikle.
Ve aynı tarayıcılarda doğru olmuştur yıllardır ve masaüstü bilgisayarlar, dizüstü bilgisayarlar ve
siz, tabii ki, farklı ekran boyutlarına sahip.
>> Başka?
Sen, yüzeylere sahip olabilir gibi Microsoft'tan.
Sende olmalı--
İZLEYİCİ: Windows telefon.
DAVID J. MALAN: Bu nedir?
İZLEYİCİ: Windows telefon.
DAVID J. MALAN: Evet.
Yani Windows telefonları hala bulunabilir.
BlackBerrys tür tür, ama denemeye devam.
Ve sonra diğer cihazların demet.
Çoğunlukla Yani, haydi Bu olanlar demek
Şu anda umurumda.
Kesinlikle Apple şeyler, kesinlikle Android şeyler,
ve Windows arasında, yüzey tabletler gibi gayet iyi anlıyor gibi görünüyor.
>> Ve böylece bu cihazlar arasında, Eğer dışarı rulo istiyorsanız,
, Diyelim bir mobil varlığı izin senin şirket, tasarım kararlarının ne tür
Eğer yapmak zorunda mı?
Eh, biz zaten dedi Apple, dünyanın,
En az iki dil var tipik olarak kullanılır.
Bir şey denirdi?
>> İZLEYİCİ: Objective-C.
>> DAVID J. MALAN: Evet.
eski biridir Yani Objective-C,.
Aynı zamanda pek çok Mac o dilin var uygulamalar hala yazılır.
Sonra diğer yeni biriydi?
İZLEYİCİ: Swift.
DAVID J. MALAN: Swift.
Ve bu tür vardır İki millet etkilemek için bilmek.
Daha sonra Android dünyada Android hangi dili kullanır?
>> İZLEYİCİ: C #?
>> İZLEYİCİ: Java.
>> DAVID J. MALAN: Java dili "du jour."
Windows dünyasında, tabii, Biz bu durumda C # söylerim.
Yani zaten bu tür bir ne çünkü, rahatsız edici
Bir iş için paket Sahibi ya da kimse kim sadece
mobil varlığını dışarı rulo istiyor?
Gibi kahretsin?
Gibi, ben desteklemek istiyorsanız oldukça geniş bir kullanıcı tabanı,
Ben yazmak zorunda, o görünüyor üç ayrı uygulamalar.
bu dillerden birinde biri Java bir C # biri.
Ve ben işlevsellik istiyorsanız bile özdeş olması, hiç önemli değil.
Hala farklı kullanmak zorunda dil, Apple ve Microsoft, çünkü
Google tüm destek Farklı ortamlar.
Ve bu yıl için bir meydan okuma olmuştur.
Geri gün içinde, ne zaman insanlar yazılım satın almak için kullanılan
Bir bilgisayar mağazasında en sarılmış kutuları küçültmek,
Eğer olurdu ya Mac raf ulaşmak,
ya da belki de bu çok küçük bir Mac for-- shelf-- ya da daha büyük, Windows raf
ve bazı yazılım satın.
Ve çok sık, hatta orada değildi Mac rafta sizin için her şey.
Niye ya?
Eh, şirketlerin% 90 ise karar Dünyada dünyasının,% 95
Hatta neden rahatsız PC'leri vardır Mac OS şeyler uygulamak?
>> Toplam bir aside-- olarak bu nedenle digression--
Mac virüsler çok geçirmeyen görünüyor ve solucanlar, ve güvenlik tehditleri?
Apple bu daha iyi mi?
bilgisayarlar güvenli tutmak daha iyi?
>> İZLEYİCİ: Küçük seyirci?
>> DAVID J. MALAN: budur Bunun muhtemelen daha büyük bit.
Yani Mac'ler birçok kullanıcı var Uzun, oh, Mac kullanıyorsanız, iddia
virüslere karşı bağışıklık olacak ve solucanlar ve bütün bunlar
uzun PC'leri rahatsız etmektedir.
Bu olabilir Apple çünkü Daha iyi programcılar vardır
ve daha iyi yazılım yazmak, ya da işletim sistemi daha iyi dizayn edilmiştir.
Belki, ama muhtemelen değil.
>> Bu sen o zaman muhtemelen 12 yaşındaki veya 30 şey
çeşit ev yazma oturan zararlı yazılım devralmak
Dünya, sen sonra gideceksin çok daha büyük bir hedef kitleye.
dünyanın% 95 olabilir Windows veya bazı çalıştırıyor olması
bunların varyantları.
Yani her iki tarafta biraz var.
Ama kredi için, Elma, bildiğim kadarıyla,
gerçekten kendilerini lanse değil daha güvenli olarak,
Sadece eğer dram davet ediyoruz beri O iddiada, ben düşünürdüm.
>> Pekala.
çok aşağı almadan Bu, nasıl bu çözmek mi?
Mı satın almak zorunda ya da gerekiyor geliştirmek için üç farklı insanlar ödemek
uygulamalarınız?
Eğer İkisinden birini tercih musunuz?
senin yol ne olmalıdır Sizce burada düşünme?
Kareem?
Hayır.
Başkası.
>> İZLEYİCİ: Sadece donanım ile birlikte gelir.
DAVID J. MALAN: donanım gel?
Ne demek istiyorsun?
>> İZLEYİCİ: Satılık ortamı. [Duyulamaz]
DAVID J. MALAN: Yani doğrudur.
Ama müşteriler, Bu arada, iPhone'lar olabilir,
Onlar, Android telefonlar olabilir Microsoft tarafından yapılan tabletler olabilir.
Peki nasıl bir mobil strateji var mı bu farklı tüm kullanıcılar için?
maliyeti ise o, görünüyor Bunu bir iPhone yapmak için 1000 $ diyelim
Uygulama, gidiyor hale getirmek için 2000 $ maliyeti
Bir iPhone uygulaması ve bir Android uygulama veya 3000 $
aynı zamanda, Windows cihazlarını desteklemek için.
Bu muhtemelen oldukça understatement, ve hatta olmayabilir
Böyle bir doğrusal bir ilişki olabilir.
>> İZLEYİCİ: Bir uygulamayı sahip olmak istiyorsanız ya da değil, Duyarlı web sitesi olabilir.
DAVID J. MALAN: İyi.
İZLEYİCİ: Ya da yerel bir uygulamayı olabilir.
DAVID J. MALAN: Evet.
Burada, bu bağlamda Yani Konuştuğumuz oldum ne
insanlar yerel uygulamalar çağırır.
Yani yazılmış uygulamaları Bu cihazın ana dilinde.
Yani yerli Objective-C ya da Swift kodu veya Java ya da C #.
Hangi indirdiğinizde, haydi anlamı Snapchat, popüler bir uygulama demek,
veya indirdiğinizde Bir telefon için Facebook,
Eğer indirirken ya iPhone için yazılmış versiyonu,
veya Android telefon için yazılmış, ya da yüzeye için yazılmış.
>> Ama bir alternatif var.
Olivier ima edildiği gibi, aslında HTML 5 kullanarak
Bunun yerine, bir web denen kullanarak uygulama, bu sayede sadece
Mobil varlığını uygulamak herhangi bir işlevsellik.
Mobil varlığı ile neyi kastediyorsunuz?
Web sitenizin gibi o sizin yanınızdaki vardır iletişim bilgileri, tüm listesi
ürün, belki de bir alışveriş vardır sepeti, belki bunun üzerinden bir şeyler satmak.
Ne olursa olsun uygulama olduğunu değil Objective-C, bunu uygulamak,
veya Swift, ya da Java ya da C #, ancak HTML Biz baktı diliydi 5,
dün, JavaScript ve CSS ile.
>> Ve bu konuda güzel ne Üç onları çalıştırmak için,
Yazılımın sadece ne parçası mı ihtiyacınız var?
İZLEYİCİ: Bir web tarayıcısı.
DAVID J. MALAN: Bir web tarayıcısı.
Ve en iyi ben, bunların hepsini biliyorum cihazları, web tarayıcıları ile gelen
böylece kullanıcı zorunda değil özel bir şey yükleyin.
Yani sadece söyleyebilirim senin seyirci, müşterileriniz,
içinde acme.com gitmek senin tarayıcı ve sadece edeceğiz
web tabanlı bir deneyime sahip Hala ekranı doldurur,
ama hepsi hakkında endişelenmenize gerek yok Bu maliyetler ve bu karmaşıklık tüm.
Ama kesinlikle orada olacak Bir yakalamak, doğru burada olmak?
Ben işaret Özellikle Birkaç yıl önce,
çok ilk sürümü Facebook'un mobil uygulama
çoğunlukla bir HTML 5 uygulama oldu.
Ve onlar var, daha fazla Son zamanlarda, reimplemented
onların diğer uygulamalarda.
>> Peki sen neden olmaz Hemen söylemek istiyorum,
de, açıkçası biz bunu yapmak için gidiyoruz?
gizli maliyet ne olabilir?
>> İZLEYİCİ: Performans.
DAVID J. MALAN: Performans?
Ne demek istiyorsun?
>> İZLEYİCİ: yerleşik uygulaması Daha fazla performansa sahiptir.
>> DAVID J. MALAN: Yani bir Gerçek, nedenlerle bir çift için.
Biz cevap basite indirgemek olabilir.
Ve bizim tartışma hatırlama derlenmiş dillere karşı yorumlanır.
Bu HTML 5 ve onunla, sadece olmak net, JavaScript-- yaygın yazılı
JS-- ve CSS hepsi yorumlanmış diller,
Hatta sadece JavaScript rağmen Bir programlama dilidir.
>> Ve bu karşı bu yüzden hangi bunlardan bazıları derlenen, en azından bu üç-
Objective-C, Java ve C # - bunlar, teoride, sadece daha hızlı olmalıdır.
Ama başka bir gerçeklik var for--
>> İZLEYİCİ: İşlevler?
>> DAVID J. MALAN: Bu nedir?
>> İZLEYİCİ: İşlevler.
>> DAVID J. MALAN: İşlevsellik?
Nasıl yani?
İZLEYİCİ: kamerayı kullanın Telefonunuza falan kapalı.
Sen tarayıcı ile bu kullanabilirsiniz.
DAVID J. MALAN: Kesinlikle.
Onlar sec-- ediyoruz
İZLEYİCİ: [Duyulmaz]
DAVID J. MALAN: Bu başka iyi biri.
gel özellikler var cep telefonları bugün
güvenlik için, tasarım gereği, olmadığını web tarayıcıları için erişilebilir nedenler.
bu tür olacağından Tüyler ürpertici bir şey sadece zaman eğer
ziyaret google.com veya cnn.com, ya da herhangi bir website.com,
Bu web sitesi açmak için güce sahip olduğunu senin kamera üzerinde, senin bir resmini çekmek,
ve daha sonra kullanmak.
Ama rastgele bir web sitesi istemem Eğer ilk kez ziyaret etmenizi
Bu yeteneği var.
>> Ve ne olmuş yani telefon üreticileri genellikle do
onlar sadece erişimi reddetmek olduğunu bilgi bu tür
Bir tarayıcı, size hangi anlamı Kamerayı uygulayamaz.
Sen, push bildirimleri uygulayamaz Eğer ekranda olsun bip sesi
kısa mesajlarla.
Ve aslında, hatta GPS sadece tür çeşit mevcut web tarayıcılarına.
Eğer bir dizüstü bilgisayarda, hiç yasiyorsaniz veya bir mobil cihazda,
belki gibi bir şey çekti cnn.com, aynı zamanda yerel haber istasyonları
Bunu yapmak eğilimindedir, sen istenir genellikle bir message-- foxnews.com
konumunuzu bilmek istiyor.
Onaylamak veya reddetmek.
>> Eh, tarayıcı erişmeye çalışıyor Telefonunuzdan GPS bilgileri.
Ama neyse ki Microsoft, ve Apple ve Google
gibi hissediyor karar verdik yararlı bir durum,
Google Maps ve istediğiniz diğer araçlar, iş
ama biz insanları sürünmeye istemiyorum Sadece herhangi bir web sitesi sağlayarak bunu yapmak için.
karşılamak Yani diyelim sıralama yarım ve kullanıcı istemi.
Ama bu her zaman böyle değil fotoğraf makinesi gibi tüm donanım ile
ve itme ile bildirimleri ve benzeri,
böylece gerekebilir bazı özellikleri feda.
Ama performans çok.
Daha az oluyor Günümüzde fark belki
LTE ve hızlı yakalar telefonlarda internet hızları,
ama ne tür bir fark hissedebilirsiniz.
web tabanlı bir uygulama gibi Sadece, tipik yavaş hissediyor
yerel bir uygulama yerine, kısmen Web tabanlı bir uygulama, çünkü
tanımı gereği internet üzerinde olduğunu.
Bu web sunuculara konuşuyor.
Ve ağ bağlantısı olup olmadığını Yavaş, hatta yavaş olabilir kaydırma.
>> Ama yerli uygulama var Zaten ön downloaded-- belki
evde iken App Store dan,
ya da en azından önceden indirilen bütünüyle bu
Daha önce, ne olursa olsun senin bağlantı hız--
ve şimdi sen hepsine sahip genellikle gerek bit.
belki bazı verilerin dışında bir sunucudan geliyor.
>> Peki bu ticaret-off burada.
Bir orta tür var uzlaşma aslında.
Ve ben sen-- düşünüyorum
>> İZLEYİCİ: Veri çevrimdışı kullanın.
yerli uygulamalarda yapabilirsiniz [duyulamaz]
DAVID J. MALAN: Kesinlikle.
Yani çevrimdışı sorunu var, ki gerçekten can sıkıcı bir durum
Eğer bazı oyun veya kullanım çalamaz sen sırf bazı yazılım
Bir bodrum katında bir yerde ya da asansörde.
Yerel uygulama esnektir Buna karşı yüksek olasılıkla,
Eğer her şeye sahip varsayarak veri yerel gerek.
>> Yani burada üçüncü bir seçenek yoktur.
Ve en olarak spektrumunu çizelim Burada yerli burada uygulama ve web uygulaması.
Ve ortada ne bir şeydir called--
ve sana sahip olabileceğini düşünüyorum önce, belki kelimesini kullandı?
Hibrid uygulama.
Ve kelime anlaşılacağı gibi, ortada bir şey.
Bir web uygulamasının tür ve Bir yerel uygulama türüdür.
>> Ve bu ne anlama geliyor?
Bu frameworks-- vardır çıkıyor earlier-- yazılım bir terimi kullanmak için
Diğer insanların yazdım Bu platformların her biri için.
Bunlar ve henüz diğer cihazlar.
Aslında, beni PhoneGap gidelim bu tür bir çerçeve ben
Adobe şimdi sahibi inanıyorum.
Beni Başlarken gidelim.
Bakalım.
Ben araçların listesini görebilirsiniz bakın.
Donanım.
Başlamak.
PhoneGap donanım.
>> Bakalım.
PhoneGap donanım erişimi.
Biz biraz bulabilirsiniz bakayım onlar için kullanılan grafik.
Bu da başka bir sitede bulunuyor.
Bu yararlı mı?
Yok hayır.
Bu olacak bizim zaman orada boşa var.
PhoneGap donanım.
Cihazlar.
Cihaz API.
Hayır, bunu hareket ettik.
>> PhoneGap.
Şimdi bu son bir göz gidelim Sana göstereceğim eğer görmek.
Başlamak.
PhoneGap yükleyin.
mobil uygulamasını yükleyin.
Hadi ama.
Her şeyi yeniden organize ettik.
Pekala.
Eh, işte gidiyoruz.
Bu, tüm bu aydınlatıcı değildir, ancak Bu Tür arıyordu budur.
>> Yani PhoneGap bir çerçeve olduğunu size size verdiği ücretsiz olarak indirebilirsiniz
Bazı marş kodu, esasen.
yazdıkları Yani bazı kod O pek bir şey yapmaz.
Ama size ne esas olarak denktir
Sadece bir koyar bir uygulamanın kullanıcının ekranında büyük dikdörtgen.
Bir gibi bir URL çubuğunu koymuyor tarayıcı, bir adres koymaz.
Bu sadece büyük bir dikdörtgen koyar.
Ve bu büyük yapılandırmak dikdörtgen, kaputun altında,
aslında acme.com gidin ya da belki etmek m.acme.com, mobile.acme.com için,
ancak kullanıcı bilmiyor Onlar bu adreste konum.
Gördükleri tek şey Web sayfasının içeriği.
>> Ama bu varlık hakkında güzel ne Bir melez uygulaması bu ne PhoneGap olduğunu
ve diğer şirketler sen veriyorsun onlar size kod biraz veriyoruz
Objective-C ya da Swift, ya da Java kod biraz,
veya kod biraz C # ve esasen,
Verdiğiniz gereken minimal olduğu web tabanlı uygulama adresi.
Ve sonra bu paket hep birlikte ve
buna sahip birini erişmek senin internet üzerinden site
ya da hatta yerel önbelleğe uygulama içinde kopyalama,
ve sonra da uygulamayı kaydetmek iPhone formatında, Android cep telefonu
biçim, yüzey biçimi veya diğer cihazlar herhangi bir sayı.
>> Siz bu sürümlerin her yükleyin Google Play Store,
App Store'a, için vb Windows Mağazası ve.
Ve şimdi, tüm sahip edebilirsiniz izleyiciler gerçekten yerli uygulamasını indirmek
kod en çok olsa başkası tarafından yazılmış,
ama bu yerli app içeriği tüm Kendi web sitesi, tipik olarak geliyor.
Yani web sitenizin yazmaya devam HTML, JavaScript ve CSS.
>> Peki neden bu satırları bulanıklık?
Neden bir melez uygulama var Bu yerli tür, ama aynı zamanda
web tür dayalı?
bütün mesele nedir Bu karmaşıklığı ekleme?
Ben sadece gelen, hatta hala demek Bu sayfa üzerinden bakarak,
Başlarken kılavuzu gibi hissediyor Benim için adımlar bir sürü var
Ben can-- önce yapmak
İZLEYİCİ: Yeniden kullanılabilirlik?
DAVID J. MALAN: Tekrar kullanılabilirlik?
Ne demek istiyorsun?
>> İZLEYİCİ: kaynak kodu Of.
Yani aynı kod çalıştırmak istiyorum tüm farklı platformlar.
DAVID J. MALAN: Evet.
İZLEYİCİ: [Duyulmaz]
DAVID J. MALAN: Mükemmel.
zaman sıkı ve eğer varsa birçok developers-- yok
belki bir geliştirici var ve o ya da kesinlikle o
Bunların hepsi bilmiyor environments-- kesinlikle iyi,
ve kesinlikle programın olamaz aynı anda her üç
ve üç ürünler gemi Zaman, bir izin
Onu olabilir ya da onu her şeyi inşa HTML ve JavaScript ve CSS,
ve daha sonra küçük küçük öğrenmek yerli uygulamalar hakkında biraz
indirmek için yeterli Böyle bir çerçeve,
daha sonra ürün yüklemek için Çeşitli uygulama mağazaları her
Şimdi olması için Yerel bir uygulama.
>> Yani bu bir kazan-kazan gibi görünüyor, ama yine, açık olmak
Potansiyel nelerdir maliyetler veya FRİKİKLERİNDEN?
>> İZLEYİCİ: Performans?
DAVID J. MALAN: Evet.
Performans.
Bu sözlü tarif etmek zor.
Yani sadece üzerinde alırsan inanç bir mobil uygulama,
bir web uygulaması olacak genellikle daha yavaş çalışabilir.
Çünkü, çok doğru görünmüyor olabilir iPhone ve Android telefonları,
ve Windows cihazları, var Varsayılan görünüm her zaman bir tür
ve tüm hissediyorum düğmeler ve menüler.
>> Ve web şirketleri, deneyebilirsiniz Bu estetik yaklaştığı
Bootstrap gibi kütüphaneler ile, ancak bir akıllı user-- user--
bilmek için gidiyor bir şey çok doğru burada değil.
Ve belki iyi, bu büyük bir anlaşma değil.
Ama performans sorunu kesinlikle büyük bir anlaşma.
Yerli uygulamalar sadece eğiliminde olacaktır çok daha duyarlı ve bu nedenle olacak
daha iyi.
Ve böylece, o zaman ne olabilir Her iki dünyanın en iyi?
Özellikle küçük iseniz şirket ya da küçük bir grup,
Eğer kaynak yok paralel bir uygulama geliştirmek için
Her üç platformlarda, ve açıkçası, Bu kötü bir fikir zaten var gibi hissediyor
Eğer bunu dışarı rulo ve çünkü eğer Tüm üç aynı anda gerçekleştirmek
bazı özellikler ekledik gerektiğini ya şimdi, farklı bir şey yapmış
Eğer bunu düzeltmek için var üç yerde, bir değil.
Ne belki optimum bulunuyor strateji burada genel olarak,
kaynaklar ve zaman sıkı olur?
>> İZLEYİCİ: Sadece iOS bunu yapmak.
>> DAVID J. MALAN: Bu mantıksız değil.
iPhone'lar, en azından ABD, süper popülerdir.
Android hala baskın olması gibi görünüyor pazar payı, küresel, genel.
Yani değil mutlaka temsilcisi
dünyanın bütünüyle bu hafta.
Ama bu kesinlikle bir karar.
Ben burada kampüste, yani Bazı iğrenç numarayı düşünmek
veya lisans yüzdesi iPhone'lar ve Android değil cep telefonu var.
Ama yurt dışında, bu ters tür.
Yani hedef kitleniz dayalı karar verin.
Nasıl seyirci vardır ne biliyor musunuz?
>> Eh, dün bir hile öğrendim.
Onlara sorabilirsiniz.
Eğer hedef kitleniz varsa Onlara bir anket formu gönderebilirsiniz.
Ya da sadece ne yapabilirdi?
>> İZLEYİCİ: Google Analytics?
>> DAVID J. MALAN: Bu nedir?
>> İZLEYİCİ: Google Analytics.
DAVID J. MALAN: Google Analytics.
Evet.
Hatta daha çeşit teknik, sadece Kendi web sunucuları günlükleri bakmak.
ne Çünkü her zaman bir tarayıcı,
ister dizüstü, masaüstü veya telefon web sitesini ziyaret edin?
Onlar gösterileri bu HTTP başlığı göndermek onlar Kullanmakta olduğunuz tarayıcı ve işletim sistemi.
Yani yüksek olasılıkla anlayabilirsiniz ne demografik bu şekilde kullanıyor
ve sonra ayarlayın.
>> Yani bu kabul edilemez olduğunu varsayalım.
Bu iş eğer için bir çeşit kötü Android kullanıcıları bizim widget satın alamazsınız.
>> İZLEYİCİ: Eğer olsanız olacak ücret ya da değil?
DAVID J. MALAN: İster Eğer şarj etmek için gidiyoruz?
Yani tamam, sizin için ne ödeme olsun.
>> İZLEYİCİ: Uygulamanız olacak olsun özgür olmak ya da zaman-- olsun
>> DAVID J. MALAN: Tamam.
Yani belki telafi olabilir bu şekilde maliyetleri, yoksa--?
>> İZLEYİCİ: söyledi bir kez bir çalışma okudum Daha fazla Apple kullanıcıları uygulamalar için ödeme versus--
DAVID J. MALAN: Bu doğru zaten çünkü
kendi cihazları için daha fazla ödeme.
Bir varsayım çok mantıksız değil.
>> İZLEYİCİ: [Duyulmaz]
DAVID J. MALAN: Tamam.
onlar ödemek için daha istekli iseniz Yani, Daha sonra Android kullanıcıları ile cehenneme.
Onlar gitmiyoruz Neyse bize bir şey ödemek.
Biz de bizim öncelikleri odaklanmak olabilir, en azından ilk birkaç ay için
veya bir yıl, iOS'da.
Tamamen mantıklı.
Ne daha kapsayıcı var Bundan daha stratejisi?
bu ne belki--?
>> İZLEYİCİ: [Duyulmaz]
>> David J. MALAN: Daha expensive-- belki devam kırmızı alt çizgi daha fazla yatırım.
İZLEYİCİ: Evet.
Sadece bir mobil web sitesi.
>> DAVID J. MALAN: Yani yapmak mobil web sitesi ve
Hatta bu karmaşıklık dert.
Ya da belki makul bir strateji, hangi hatta Facebook aldı
Bir melez ile başlamak olduğunu Uygulama öyle değil, çünkü
Bu çok zor bu daha bunu yapmak için.
Sadece bazı okumak zorunda dokümantasyon nasıl anlamaya ve
App Store için bir şeyler yüklemek için.
Yani belki ile başlayan Bu, günün birinde, böylece
Eğer tüm kullanıcılar destekleyebilir.
Ve sonra, sadece Facebook gibi ve diğer şirketler, yapmış
Eğer kaynaklara sahip olduğunda, Eğer insanlar var,
neden yeniden uygulamak değil sadece iOS uygulaması.
Hala, herkes için bir şey var bir alt deneyim olsa bile
Belki de, hibrid uygulaması ile.
Ama yavaş yavaş dışarı dönebilirsiniz ve kısa dönem yerine
hibrit uygulamalar önlemler senin daha yerli uygulamalar.
>> İZLEYİCİ: Ama bir melez app mobil özelliklere erişimi olacak?
>> DAVID J. MALAN: Şart değil.
Yani belki bir hale erken karar bilinçli,
Sadece fotoğraf yükleyebilir Contact yerel iPhone uygulama,
ancak robot uygulama üzerine, Başlangıçta, örneğin.
Ve bu bir beyaz yalan nedeniyle biraz web uygulamaları daha kısıtlamalar var
melez uygulamalar daha da döner Biz belgeleri okumak dışarı ve eğer
bunun gibi PhoneGap ve şeyler için, insanlar yolları ile geldi
Web tabanlı uygulamalar vermek kameraya erişim,
Kullanmakta olduğunuz sürece melez uygulaması.
>> Bu nasıl çalışıyor?
melez çünkü Uygulama, tanımı gereği,
, Objective-C kodu biraz var ve Swift ve Java veya C #,
o donanım erişebilirsiniz.
Şart değil her şey ama çok iyi olabilir
Eğer varsa davayı olmak kamera almak için erişim yeterli,
Hatta Android platformlar için, için örneğin, bu zoraki örnekte.
>> Başka soru?
Pekala.
Neden yapmayız bizim Burada 15 dakika mola.
Biz son ile üçünde devam edeceğiz Web programlama bakmak, veri tabanları,
ve JavaScript.