Python Django vs MEAN Stack

BattOS

Hectopat
Katılım
21 Eylül 2019
Mesajlar
88
Daha fazla  
Cinsiyet
Erkek
Merhaba. Öncelikle klavyemden dolayı özür dilerim, bazı karakterleri yazmıyorum.
Üç veya dört yıldır Python öğreniyorum / kullanıyorum. İlk başlarda öylesine öğreniyordum o yüzden son bir yıldır ciddi kullanıyorum diyebilirim. Son iki aydır da web programlama öğreniyorum.
Şu an django kullanıyorum ama django bana tam istediğimi veremedi sanki. Yazılımcıyı çok serbest bırakmıyor (ya da benim bilgisizliğimden dolayı öyle geliyor), uzmanlaşmak zor ve zaman alıyor ve benzeri. Bu yüzden diğer dillere bakmaya karar verdim ve django ile mean stack arasında kaldım. Python yeterince bildiğimi düşünüyorum en azından ihtiyacımı karşılıyor şu an saf Python3. JavaScript çok bilmiyorum yani döngülere, fonksiyonlara kadar. Django bilgim ise blog sitesi yapabiliyorum ve yakın zamanda bir haber sitesi yapmayı deneyecektim.
Sizce django ile mi devam etmeliyim yoksa mean stack ile mi? Ya da başka bir opsiyon olarak django rest Framework ile API yazıp React JS gibi bir şeyle kullanabilirim.
Cevap verirken neden olduğunu açıklarsanız sevinirim. Şimdiden teşekkürler. Uzun yaşayın ve refaha erin.
 
Ben NPM yapısından dolayı, Node.js tarafını tercih ediyorum. Neredeyse aradığın her şeye yanıt olan bir kütüphaneyi bulabiliyorsun NPM'de. Ayrıca, kendini bir şeyde şartlandırma derim. Hem Node.js, hem de Django bilmenin sana bir eksisi olmaz. Tam tersi, olaylara bakış açını genişletir.

Front-end kısmında seçim sana kalmış. Lâkin, Angular ve React'e nazaran, benim önerim Vue olacaktır. Kullanımı ve öğrenimi çok daha basit, diğer ikisine göre.

Veritabanında da kendini şartlandırma, hem SQL, hem de NoSQL yapılarını öğren. İlla ki ikisini de kullanacağın yerler olacaktır. Veritabanı sorgularını kolaylaştıran ORM diye anılan kütüphaneler var. Bunları da öğrenmenin artılarını görürsün (Sequelize ve Mongoose gibi).

Bir yazılımcı, güncel teknolojilere ayak uydurmalıdır.
 
Son düzenleme:
Ben NPM yapısından dolayı, Node.js tarafını tercih ediyorum. Neredeyse aradığın her şeye yanıt olan bir kütüphaneyi bulabiliyorsun NPM'de. Ayrıca, kendini bir şeyde şartlandırma derim. Hem Node.js, hem de Django bilmenin sana bir eksisi olmaz. Tam tersi, olaylara bakış açını genişletir.

Front-end kısmında seçim sana kalmış. Lâkin, Angular ve React'e nazaran, benim önerim Vue olacaktır. Kullanımı ve öğrenimi çok daha basit, diğer ikisine göre.

Veritabanında da kendini şartlandırma, hem SQL, hem de NoSQL yapılarını öğren. İlla ki ikisini de kullanacağın yerler olacaktır. Veritabanı sorgularını kolaylaştıran ORM diye anılan kütüphaneler var. Bunları da öğrenmenin artılarını görürsün (Sequelize ve Mongoose gibi).

Bir yazılımcı, güncel teknolojilere ayak uydurmalıdır.
Öncelikle teşekkürler.
Pek bilmediğim için soruyorum, NPM yapısı tam olarak nedir ve avantajları nelerdir?
 
NPM, adı üstünde Node Packet Manager, yani Node Paket Yöneticisi anlamına geliyor. Node.js için oluşturulmuş modülleri projene dahil etmek için kullanıyorsun, istersen sen de kendin oluşturmuş olduğun kütüphaneleri NPM'e yükleyebilirsin. Örneğin, bir Node.js projesi başlatırken, modül yüklemen için, projenin ana dizininde "package.json" ve "package-lock.json" dosyası olmalıdır. Bu dosyaların oluşması için npm init komutu çalıştırılır ve "package.json" dosyası ile birlikte "package_lock.json" ve "node_modules" klasörü oluşturulur. "package.json" dosyasının içerisindeki "dependencies" objesinde ise, senin yüklemiş olduğun modüllerin adları ve sürümleri yazar.

Bir modül şöyle yüklenir; npm install modul_adi veya npm i modul_adi. Bu kodlardan birini çalıştırdığın zaman, "dependencies" kısmına, yüklemiş olduğun modülün adı, sürümü eklenir ve proje ana dizinindeki node_modules dosyasına, eklemiş olduğun modül yüklenir.

Diyelim ki "node_modules" dosyasını sildin, modülleri tekrar yüklemek için, tekrar tekrar npm install modul_adi yapmana gerek yok. "package.json" dosyasında, yüklemiş olduğun modüller "dependencies" objesinde bulunduğu için, bunları tekrar yüklemek için npm i veya npm install komutlarından birini, bir kere çalıştırman yeterli oluyor. Bu da şöyle bir fayda sağlıyor; örneğin git sistemini kullanıyorsun diyelim. "node_modules" dosyasının boyutu yüksek olduğu için, bu klasörü git repo'na göndermemek için, klasörün adını ".gitignore" dosyasına eklersin. Daha sonra, bu projeyi başka bir bilgisayarda indirip çalıştırmak istediğinde, modulleri yüklemen için npm i komutunu çalıştırman yeterli oluyor.

NPM'in sağladığı en büyük fayda; herkesin bu platforma ücretsiz olarak modül geliştirip yüklemesidir. Neredeyse, sana lazım olan her şeyi bulabiliyorsun.
 

Geri
Yukarı