Ön uç arka uç için kullanılan dillerde yazılmış! [kapalı]


10

Web geliştirme deneyimimden PHP, Java, Python..etc gibi dillerin arka uç geliştirme öğeleri (sunucuda çalışan yazılım) ve ön uç diller için JS / HTML / CSS kullanıldığını biliyorum.

Ancak birçok şirketin ön uç geliştirme için PHP ve arka uç için python kullandıklarını söylediğini görüyorum.

Bu, PHP'nin REST, RPC ..etc aracılığıyla diğer dillerde yazılmış diğer hizmetleri çağırmak için ön uç olduğu anlamına mı geliyor?


3
bu yazıyı okumak oldukça zor (metnin duvarı). Sakıncası var düzenleyebilir daha iyi bir şekle ing?
gnat

Yanıtlar:


36

"Ön uç" ve "arka uç" terimlerini "sunucu tarafı" ve "istemci tarafı" ile karıştırdınız. "Arka uç" genellikle kullanıcıya doğrudan maruz kalmayan sistemleri (veritabanı sunucuları, ara katman yazılımı vb.) Belirtirken, "ön uç" genellikle uygulamayı ifade eder (Web durumunda bu normalde statik anlamına gelir) ve dinamik web sayfaları) doğrudan müşteri tarafından erişilir.

Bir web uygulamasında, istemci (kullanıcının tarayıcısı), "ön uç" teknolojileri tarafından "sunucu tarafı" olarak depolanan veya dinamik olarak oluşturulan web sayfalarına erişir. Bu ön uç bileşenler, sırayla, "arka uç" bileşenlerden veri veya diğer bilgileri alabilir. Yani PHP ile yazılmış bir web uygulaması "ön uç" ama "sunucu tarafı" olacaktır. Ancak, web sayfaları kullanıcının tarayıcısı tarafından yürütülecek herhangi bir javascript içeriyorsa, bu javascript kodu "istemci tarafı" olarak yürütülür.

Umarım bazı karışıklıkları ortadan kaldırdım, ancak şimdi biraz daha yaratma riski taşıyorum.

İlk olarak, elimizdeki AJAX kendilerini web sayfalarını oluşturmayan İnternet bakan hizmetlerden bilgi çekerek Gördüğünüz web sayfaları oluşturmak için, (genellikle JavaScript) istemci idam kodu (istemci tarafı böylece). Hizmetler, bilgi sunucusu tarafını ön uçta oluşturuyor (herkese açık olduğundan ve url'yi biliyorsanız tarayıcınızı doğrudan onlara yönlendirebilirsiniz).

İkincisi, JavaScript elbette istemci tarafı kullanımıyla sınırlı değildir. "Sunucu tarafı" dili olarak giderek daha popüler hale geldi ( bir örnek için node.js'ye bakın ). Bu nedenle, en yaygın kullanımı, bir önceki paragrafta tarif ettiğim türden internete yönelik hizmetlerdir.

Web 2.0'dan önce işler çok daha basitti . O zamanlar, web uygulamaları bağlamında , ön uç web sayfalarının oluşturulduğu yerdi, JavaScript ise sadece istemci tarafına koştu ve fareyi üzerlerine getirdiğinizde yüksek ışıklı görüntüler gibi web sayfalarına küçük kozmetikler yaptı. Ancak, bu sadelik insanları tanımları konusunda tembelleştirdi. Şimdi durum daha karmaşık, bu yüzden bu terimler hakkında kesin olmak önemlidir.

(Eğer varsa Oh ve var PHP kullanmak, O kesinlikle olduğunu. Ön uçta muhafaza ediniz değil Hiç PHP istemci tarafı yürüten bir tarayıcı yaratma kimseyi bulursanız, ateş onlara iyi arka uç teknolojisi. Ve.)


Son cümleniz göz önüne alındığında, code.google.com/p/php-to-js :-P
Andrea

her dil ön uçta kullanılabiliyorsa ve her dil arka uçta kullanılabiliyorsa, ayrım istendiği şekilde işe yaramaz mı? yalnızca bir uygulama bağlamında cevaplanabilir.
Claudiu Creanga

7

Sorunuzun PHP'ye oldukça özgü olabileceğini düşünüyorum, çünkü bu şekilde kullanıldığından bahsettiğiniz diğer arka uç teknolojilerinden hiçbirini göremiyorum.

PHP birçok web projesi açısından hepsi bir arada bir dil olarak (olabildiğince çirkin bir şekilde ekleyebilirim) görülebileceği için komik bir örnektir. Dosya ve veritabanı işlemleri gibi geleneksel " arka uç " görevlerinizi yerine getirirken " ön uç " işaretlemesi de yapabilirsiniz.

Bu açıkça endişe ayrılığı olmayan bir spagetti karışıklığına yol açabilir, bu yüzden gerçekten aklımda kaşlarını çattı. Harika bir örnek için, wordpress kaynağına göz atarsanız, genellikle kaybolabilirsiniz - ve bu, dili suçladığım bir proje, kod tabanının organizasyonu aslında çok iyi.

Bu, bir şekilde " şablonlama motoru " ( Smarty gibi ) kullanılarak düzeltilebilir - ancak yine de "ön uç" işlevini oluştururken yine de "arka uç" işlevselliğini sağlayan PHP'dir. Bu PHP tasarım arkasında kasıtlı bir karardı, ancak sonuçta bir " hipermetin işlemci " dir!

Böylece PHP hem " ön uç " hem de " arka uç " kullanımlarına kolayca uyum sağlayabilir . Bu nedenle, PHP'nin bir ön uç için tüm işaretlemeyi işleyeceği ve oluşturacağı konusunda büyük olasılıkla haklısınız, ancak gerekli verileri toplamak için başka bir yerde talepte bulunacak - büyük olasılıkla yukarıda belirtilen dillerden birinde yazılan bir hizmet .

Şahsen, ben bütün "arka uç" ve "ön uç" terminoloji biraz .. belki eski moda hissediyorum. İşlerin sadece bir istemci ve sunucu tarafına yönlendirilmesini tercih ederim; o zaman gerçek bir belirsizlik yoktur. *

Son zamanlarda node.js ve ilişkili araçlarda yazılan bir arka uç sistemi gerektiren, ancak bir PHP çerçevesi (Laravel) kullanarak ön uç derleme isteyen bir istemci spesifikasyonu gördüm. Bu birçok ilişkili maliyetle birlikte geliyor ve bence zarif bir çözüm değil ve hatta birkaç soruna neden olabilir.

Kişisel olarak konuşursak, bu tür yapılandırmalar birisinin başka bir yığına gereksiz yere ayakkabı atmış PHP'ye benziyor gibi görünüyor - bu da aslında gerekli olandan daha fazla kaynağa ihtiyaç duyulduğu, bakım personelinin daha geniş bir teknoloji yelpazesine maruz kalması ve daha fazla başarısızlık noktası olduğu anlamına geliyor.

Dahası, bu tür bir ara yığını garanti eden çok az senaryo olduğunu düşünüyorum; çoğu arka uç dili / çerçevesi ön uç için gereken işaretlemeyi mükemmel bir şekilde üretebilir. Her ne kadar orada düzeltilmem gerekiyor.

* Rağmen, başınızı sormak için .. Javascript kullanılarak inşa edilmiş arka uç sistemleri hakkında ne? (node.js;))

Düzenle:

@İtsbruce tarafından yapılan bir yorumu okuduktan sonra, "ön uç" / "arka uç" terminolojimin belirsizliğiyle ne demek istediğimi açıklığa kavuşturmaya karar verdim.

Geleneksel olarak bu terminoloji iyi olurdu, mimari olarak web uygulamaları çok daha basitti - ve söylemeye cesaret edeceğim, çok fazla değer. Aklımda "Sunucu Tarafı" ve "İstemci Tarafı" demek çok daha temiz ve daha fazla işlem ve mantığın istemciye aktarılmasının mevcut eğilimi yaygınlaşıyor.

Müşteri tarafında adil bir miktar veri işleme yapmak kabul edilebilir hale geliyor (sadece şu anda trend olan javascript çerçevelerinin bazılarına bakın), ancak bu gerçekten ön uç mu? Kullanıcı bunu görmez, sonuçlarını görür - ve genellikle "arka uç" olarak görülen geleneksel kriterlere göre; ama şimdi tarayıcıda oluyor ..

Benzer şekilde ve bu soruyla inanılmaz derecede ilgili olan, PHP'deki işaretlemeyi gerçekten bir ön uç görevi olarak mı oluşturuyor? Ben şüphe, iş panoları hızlı bir göz birkaç ön uç geliştirici pozisyonları PHP deneyimi veya bilgi bekliyoruz gösterir; ancak sezgi, arabirim için işaretlemenin doğası gereği ön uç olduğunu gösterir.

Bu sorunun var olduğu gerçeği, " ön uç " ve " arka uç " un doğası gereği belirsiz olup olmadığına ve bu şekilde olmaya devam edeceğinin bir örneği olarak işlev görür .

Belirsizliklerin kaybolduğu görevlere "sunucu tarafı" veya "istemci tarafı" olarak atıfta bulunarak, kodun nerede yürütüldüğünü ve hangi dillerin kullanılacağını bilirsiniz. OP'nin sağladığı örnekte " ön uç " dediyseniz, birçok insanın " Oh, yani sunucuda PHP doğru mu? "


3
Seni oylamadım, ama cevabını soru kadar okumak neredeyse zordur ve karışıklığı terimlerle ele almaz (eğer bir şey varsa, daha da kötüleştirir). Daha da önemlisi, sadece orada olduğunu "ön uç v arka uç" ve "istemci tarafı v sunucu tarafında" arasında hiçbir belirsizlik; farklı ve farklı ilişkileri tanımlarlar. "Renk ve şekil almayı bırakmayı tercih ederim; işlerin yeşil veya mavi ve yuvarlak veya kare ve bazı şeylerin yeşil ve kare olması belirsizdir" diyebilirsiniz.
itsbruce

Doh, işe geri dönmek zorunda olduğum için prova okumak için yeterli zamanım yoktu. Yorum için alkış olsa da, bana düzenlemek için bir kafa verdi. Yine de terminoloji ile ilgili düşüncelerime bağlı kalıyorum, ama biraz daha genişleyecek. Ta.
Fergus In London

illa ki değil - bir web sunucusu dilinin istemcinin bir parçası olduğunu düşünüyorum (günümüzde web sunucularının ne sıklıkta saldırıya uğradığını göz önünde bulundurarak, 1. günden itibaren tehlikeye atılması düşünülmelidir), bu nedenle sunumun bir parçası olan sunucu tarafı dillerinin ayırt edilmesine ihtiyaç vardır. uygulama katmanı hizmetleri sağlayan sunucu tarafındaki dillerden katman. Dolayısıyla PHP bir "ön uç, sunucu tarafı" dili olarak düşünülebilir.
gbjbaanb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.