Full-Stack Geliştirici Nasıl Olunur: Bölüm 2

Yayınlanan: 2017-12-02

Bu, kendinize programlamayı ve tam yığın geliştirmeyi öğretmekle ilgili bir dizi yazının ikincisidir. CS Temelleri, Algoritmalar, Tasarım İlkeleri ve Ön Uç Geliştirme hakkında ilk bölüme bakmadıysanız, buradan yapabilirsiniz.

Motivasyon

Artık HTML, CSS ve Javascript kullanarak statik web siteleri oluşturmayı biliyorsunuz. İnternet başlangıçta statik web sayfalarını paylaşmak için tasarlanmış olsa da, modern bir web uygulamasının yetenekleri (ve beklentileri) devasa bir şekilde arttı. Hemen hemen her uygulama, kullanıcıların kimliğini doğrulamanızı, onlara yanıt vermenizi ve gerçek dünya senaryolarını mümkün olduğunca yakın bir şekilde kopyalamanızı gerektirir.
Yukarıda belirtilenleri yapmak için bir kullanıcıdan (veya bir API'den) veri almanız, işlemeniz ve bir çıktı üretmeniz gerekir. Ayrıca bu verileri kaydetmeniz ve kullanıcıyı bir sonraki sefer uygulamanızı kullanmak için geri döndüğünde tanımlayacak bir mekanizmaya sahip olmanız gerekir. Bu işlevleri gerçekleştirmek için mevcut yığınımız yeterli değil.
Bizongo'nun Kurucu Ortağı ve CTO'su Ankit Tomar ile röportaj

Sunucular, kullanıcı verilerini işlemek, dosyaları depolamak ve bunları HTML/CSS/JS'ye dönüştürmek için gereklidir. Daha sonra bu sunucular, kullanıcıya sunulabilecek bir formda tarayıcıya sunar. Uygulamanız için önemli olan verileri depolamak için bir veritabanı gereklidir. Sunucuyu programlamak için sunucu tarafı bir betik diline ihtiyacımız var ve veritabanı için bir veritabanına (duh) ve onunla iletişim kurmak için bir dile ihtiyacımız var. Sonraki adımlarda yapacağımız şey tam olarak budur. İlk yedi için önceki gönderiye bakın!

İçindekiler

Adım 8: Sunucu Tarafı Komut Dosyası Dilleri

Daha önce de belirtildiği gibi, sunucunuzu programlamak ve onunla iletişim kurmak için anladığı bir dili bilmeniz gerekir. Javascript'in tek seçenek olduğu ön uçtan farklı olarak, arka uçta programlamanız için çok sayıda seçenek vardır. En popülerleri Java, PHP, Python, JavaScript ve Ruby'dir.
PHP'nin eksiklikleri var, ancak şimdiye kadar kullandığım tüm diller ve çerçeveler arasında en yumuşak öğrenme eğrisine sahip. PHP, hızlı (ve kirli) çözümleri kodlamakla ilgilidir. Böylece, son derece kısa bir süre içinde, son derece gurur duyacağınız bir web uygulaması oluşturabilirsiniz.
Tam yığın web yazılımı geliştiricisi UpGrad Blog ön uç arka ucu nasıl olunur
Java, genel amaçlı bir programlama dilidir ve muhtemelen tüm zamanların en popüler dilidir. Mobil uygulamalar (Android platformunda) oluşturmak için son derece popülerdir ve çoğu büyük teknoloji şirketinde yaygın olarak kullanılır. Head First Java , her yerde bulunan bu dili öğrenmek için mükemmel bir yerdir.
Python öğrenmek için Zed Shaw'un Python'u Zor Yoldan Öğrenin kitabını şiddetle tavsiye ederim. ve Albert Sweigart'ın Python ile Sıkıcı Şeyleri Otomatikleştirin. PHP ile gitmeye karar verdiyseniz, Codecademy'de dilin temellerini öğrenebilirsiniz.
Node ve arka uç JS çerçeveleriyle (Express gibi) ellerinizi kirletmeye yetecek kadar JavaScript söz dizimini zaten biliyorsunuz. Ruby'yi daha sonra, bağımsız bir dil olarak nadiren kullanıldığı için Rails ile birlikte ele alacağım.

9. Adım: SQL öğrenin

Bir sonraki adım için muhtemelen biraz SQL (Yapılandırılmış Sorgu Dili) almalısınız. Veritabanlarının iletişim kurduğu dildir. Çerçeveleri kullanmaya geçtiğinizde onu doğrudan kullanmasanız da, yine de veritabanınızla doğrudan nasıl iletişim kuracağınızı bilmenize yardımcı olur. İyi haber şu ki, SQL'i öğrenmesi inanılmaz derecede kolay. Birkaç saat içinde onu iyi bir şekilde kavrayabilmelisiniz. Head First SQL bu amaç için harika bir kaynaktır.
Tam Yığın Geliştirici Nasıl Olunur: Bölüm 1

Adım 10: 'Geleneksel' Tam Yığın Web Çerçevesi Öğrenin

Şimdi, sizin için daha düşük seviyeli işlerin çoğunu yapabilen web çerçevelerini denemek için iyi bir zaman.
Akla gelebilecek her amaca hitap edebilecek büyük çerçeveler sıkıntısı yoktur. Rails (Ruby ile yazılmıştır), Spring (Java ile yazılmıştır) ve Django (Python ile yazılmıştır) günümüzde popüler olarak kullanılan çerçeveler arasındadır. Ücretsiz olarak sunulan Michael Hartl'ın The Rails Eğitimine göz atabilirsiniz .
Django söz konusu olduğunda, resmi web sitesindeki eğitim, başlamak için iyi bir yerdir. Çerçevenin temelleri konusunda kendinizi rahat hissettiğinizde, Two Scoops of Django'yu okuyun. Gelmiş geçmiş en iyi teknoloji kitaplarından biridir.
Spring yoluna gitmeye karar verdiyseniz, UpGrad & IIIT-B'nin Yazılım Geliştirme programına kaydolmanızı şiddetle tavsiye ederim. Program size çerçeve hakkında çok bütünsel bir genel bakış sunar ve sağlam ve ölçeklenebilir bir arka uç oluşturmanıza yardımcı olur.

Adım 11: Javascript Tam Yığın Çerçeveleri ve MEAN Yığını

Çok uzun zaman önce, Arka Uç Geliştirme, istek-yanıt döngüsü kavramına dayanıyordu. Örneğin, tarayıcı bir istek gönderdi ve sunucu HTML'de bir web sayfası tükürerek yanıt verdi. Ancak, 2010'un başından beri, giderek daha fazla uygulama gerçek zamanlı hale geldi.
Tüm bir web sayfasının yapısı yenilenmeden değişir ve kullanıcı girdisine ve etkileşimine göre dinamik davranır (düşünme sohbeti, beğenme, yorum yapma, canlı videolar ve tepkiler vb.).
Tam kapsamlı bir web yazılımı geliştiricisi nasıl olunur Back-end UpGrad Blog
Böyle bir senaryoda, basit bir istek-yanıt döngüsü yeterli değildir. Bu nedenle, asenkron programlamaya ve AJAX isteklerini norm haline getirmeye yönelik son zamanlarda bir ilgi artışı olmuştur. Javascript Çerçeveleri bu konuda üstün olma eğilimindedir. Bu nedenle, piyasada bulunan başlıca JS çerçevelerinden biriyle tanışmak mantıklıdır. En popüler iki tanesi MEAN Stack ve MeteorJS'dir.
Fynd Kurucu Ortağı Farooq Adam ile röportaj

MEAN'i öğrenmek, asenkron doğası nedeniyle biraz daha karmaşıktır ve geri arama cehennem Düğümü genellikle serbest bırakma eğilimindedir. Ama artık deneyimli bir geliştirici olduğunuza göre, onun kendine has özellikleriyle başa çıkacak kadar olgunsunuz.
Meteor, şu anda denemekte olduğum tam yığın bir JS çerçevesidir. Meteor kavramı kesinlikle çok hoş - bir uygulamanın tüm bileşenlerini (ön uç, arka uç ve veritabanı) tek bir dilde tek bir çerçeve ile hallediyor. Ancak, bu özelleştirme özgürlüğü pahasına gelir. Meteor'da bir şey oluşturduktan sonra, isterseniz veritabanını veya arka uç çerçevesini değiştirmek neredeyse imkansızdır. Yine de, bunun hala öğrenmeye değer bir teknoloji olduğunu düşünüyorum. Meteorun son derece güçlü olduğu bilinmektedir. Diğer geleneksel çerçevelerin bin tane gerektireceği yüzlerce kod satırında bir şeyler yapabilir.

Çözüm

Bu, 2. bölümün sonudur. Bu gönderide, arka uç geliştirme ve mevcut çeşitli tam yığın teknolojileriyle ilgili kaynakları ele aldık. Artık kendinize gururla tam yığın geliştirici diyebilirsiniz. Tebrikler!
Ancak tam kapsamlı web geliştirme hikayesi burada bitmiyor. iPhone'un tanıtılmasıyla birlikte, dünya çapında bir akıllı telefon devrimi yaşandı. Giderek daha fazla insan, masaüstü bilgisayarlar yerine akıllı telefonları kullanmaya yöneliyor. Böyle bir senaryoda, en popüler iki platform için uygulama geliştirmeyi öğrenmeniz zorunludur: Android ve iOS. Bu serinin bir sonraki ve son bölümünde bunu ele alacağız. Ek olarak, Javascript (Ionic, React Native, vb.) kullanarak yerel uygulamalar oluşturmamıza izin veren çerçevelere de bakacağız.
O zamana kadar elveda.
Görüş ve önerilerinizi bekliyoruz!

Tam Yığın Geliştirici Olun

UpGrad ve IIIT-Bangalore'un Yazılım Geliştirmede PG Diploması
Daha fazla bilgi edin