Filed underGeliştirici Rehberion•3 dk okuma

React.js'te Python Scriptlerini Çalıştırma Sanatını Yönetin

Python ve React.js'in potansiyelini kullanarak yüksek performanslı web uygulamaları geliştirin. Python, React.js ile Buluşuyor Web geliştirme genellikle ön uç v...

Python ve React.js'in potansiyelini kullanarak yüksek performanslı web uygulamaları geliştirin.

Python, React.js ile Buluşuyor

Web geliştirme genellikle ön uç ve arka uç dilleri arasında bir uçurumla karşılaşır. Python'un çok yönlülüğü ve React.js'in dinamizmi genellikle farklı dünyalarda kalır. Bugün onları bir araya getirip web uygulamanızın performansını bir üst seviyeye taşıyan bir kod senfonisi oluşturacağız.

Çevre Kurulumu: İlk Adımlar

Yolculuğumuza başlarken, araç çantasında Node.js ve Python'a ihtiyacımız var. Henüz yüklü değilse, Node.js'i buradan ve Python'ı buradan indirebilirsiniz. Kurulum tamamlandıktan sonra yeni bir Node.js projesi oluşturun ve npm kullanarak React.js'i yükleyin.

mkdir python-react
cd python-react
npm init -y
npm install --save react react-dom

Python Köprüsü: Scriptimiz

Arka uç işlevselliğini yerine getirmek için my_script.py adında bir Python dosyası oluşturun.

# my_script.py
def main():
    print("Python ve React.js uyumu!")
if __name__ == "__main__":
    main()

Bu Python betiği, çağrıldığında bir satır yazdırır. Bu basit işlevselliği, React.js uygulamamıza entegre edeceğiz.

Node.js Kurtarıcısı: Çocuk Süreçler

JavaScript tabanlı React uygulamamızdan Python betiğimizi çalıştırmanın bir yoluna ihtiyacımız var. Node.js, çocuk süreçlerini başlatmak için child_process modülünü sağlar. runPython.js dosyasında runPython adında bir işlev oluşturmak için bunu kullanacağız.

const { spawn } = require('child_process');

const runPython = () => {
  const process = spawn('python', ['./my_script.py']);
  process.stdout.on('data', (data) => {
    console.log(`Python: ${data}`);
  });
};

module.exports = runPython;

Express.js ile Boşluğu Doldurmak

React ön uç ve Python arka uç arasındaki bağı kurmak için Express.js'i devreye sokalım. server.js dosyasında, runPython işlevini çalıştıran ve sonucu geri gönderen bir Express.js yolunu tanımlayalım.

const express = require('express');
const runPython = require('./runPython');
const app = express();
const port = 3000;

app.get('/run-python', (req, res) => {
  runPython();
  res.send('Python Betiği Çalıştırıldı');
});

app.listen(port, () => {
  console.log(`Sunucu http://localhost:${port} adresinde dinleniyor`);
});

React.js, Python'ı Çağırıyor: Ön Uç

Sonunda, ön uca ulaşıyoruz. React uygulamamızda, Python betiğini çalıştırmak için Express.js yoluna bir GET isteği yapacağız. HTTP isteklerini işlemek için axios paketini kullanacağız.

import React, { useEffect } from 'react';
import axios from 'axios';

function App() {
  useEffect(() => {
    axios.get('http://localhost:3000/run-python')
      .then((res) => console.log(res.data))
      .catch((error) => console.log(error));
  }, []);

  return (
    <div className="App">
      Konsolu kontrol edin!
    </div>
  );
}

export default App;

Sonuç

Bir React.js uygulamasından bir Python betiği başarıyla çalıştırdık. Python'un çok yönlülüğü ve React.js'in dinamikliği, olağanüstü performansa sahip web uygulamaları oluşturmanıza olanak tanır.

Sıkça Sorulan Sorular

  1. Bu şekilde herhangi bir Python betiğini çalıştırabilir miyiz? Evet, bu şekilde herhangi bir Python betiğini çalıştırabilirsiniz. Ancak, betiğin karmaşıklığına dikkat edin ve bu durumun React.js uygulamanızın performansını nasıl etkileyebileceğini göz önünde bulundurun.

  2. Python işlevinin dönüş değerini React uygulamamızda nasıl alabiliriz? Elbette! runPython işlevinde, console.log yerine Python'dan alınan verileri döndürebilirsiniz. Ardından, Express yolunu bu verileri React.js uygulamasına döndürecek şekilde değiştirebilirsiniz.

  3. React uygulamamızda Python betiği hatalarını nasıl yönetebiliriz? Hataları işlemek için child_process'in stderr olayını kullanabilirsiniz. runPython işlevi içinde, hata kaydetmek veya göndermek için stderr olayı için bir olay dinleyici ekleyin.

  4. React Native uygulamalarından Python betiği çalıştırabilir miyiz? React Native uygulamalarından doğrudan Python betikleri çalıştırmak kolay değildir, çünkü React Native bir JavaScript ortamında çalışır. Bununla birlikte, Python betiğini bir sunucuda çalıştırabilir ve onunla React Native uygulamanız arasında HTTP istekleriyle iletişim kurabilirsiniz.

  5. Bu yöntem büyük uygulamalar için verimli midir? Bu yöntem hafif görevler için uygundur. Daha büyük uygulamalar veya daha karmaşık görevler için Django veya Flask gibi özel bir Python web çerçevesi kullanmayı ve onunla bir API aracılığıyla iletişim kurmayı düşünün.

Tüm yazılara dönAna Sayfa