Mobil uygulama patlamasıyla ilgili olarak sunucu tarafı teknolojileri dünyasında neler oluyor?


12

Mobil teknolojiler giderek daha popüler hale geldikçe, bir arka uçla iletişim kurmaları gerektiğinde bu uygulamaların çoğunda sunucu tarafında neler oluyor?

10 yıl önce, çoğu kaynağın erişilen bir ilişkinin, bir ilişkisel veritabanından gereken bilgileri almak için sunucu tarafı bir dil kullandığı dinamik bir web sayfası isteyerek erişildiği teknoloji dünyasına alışkınım.

Bu hala geçerli mi, değilse de büyük değişiklikler nelerdir?


Birçok küçük uygulama Google App Engine'e güveniyor :).
MrFox

Yanıtlar:


7

Başımın üstünden:

  1. İstemciden DB'ye doğrudan erişim yerine web hizmetlerinin kullanımı.
  2. SOAP yerine REST. SOAP, arka uçla mobil iletişim için çok ağır görünüyor. JSON kullanarak REST'i kurmak ve tüketmek çok daha kolaydır. Özellikle istemci ve sunucuda farklı teknolojiler kullanıyorsanız.
  3. Web sayfaları için birden çok görünüme odaklanın. Biri masaüstü, diğeri mobil cihazlar için. Birisi MVC kullanıyorsa kolay olmalı, ancak yine de oldukça sorunlu.

Muhtemelen daha fazlası var. Mobil uygulamalar çoğunlukla veri tüketen ve görüntüleyen normal müşteriler olarak kabul edilir.


6

Teknoloji

  • Serileştirme olarak JSON kullanan RESTful API - Aynı API yerel uygulamalar, karma uygulamalar ve mobil web uygulamaları tarafından kullanılır. Eski durumda bile istemci tarafı şablonları sıklıkla kullanılır ( "JSP'leri toz içinde bırakmak: LinkedIn'i dust.js istemci tarafı şablonlarına taşımak" konusundaki mükemmel örneğe bakın )

  • Hafif, eşzamansız (olay güdümlü) sunucular - artık çatal öncesi Apache yok. Artık Nginx, node.js, Twisted, Tornado vb. Kullanılıyor.

  • OAuth / sosyal giriş - Kullanıcılar her bir uygulama için bir hesap kaydettirmek zorunda kalmazlar. Böylece çoğu uygulama FB, TW ve diğer sağlayıcılarla oturum açmaya izin verir. FB için hem Android hem de iOS Tek Oturum Açma seçeneği sunar.

Düşünülmesi gereken şeyler

  • Mobil ağların gecikmeleri çok yüksektir;
  • İstemcilerin bağlantılarını kaybetmesi normaldir;
  • Bir istemcinin oturum sırasında IP'yi değiştirmesi normaldir;
  • Cep telefonları masaüstü / dizüstü bilgisayarlar kadar güçlü değildir;

4

REST hikayenin yarısıdır. Tel üzerindeki daha hafif ağırlıklı protokollerden daha ilginç olan şey, daha hafif web uygulama sunucuları ve yığınlarıdır - küçük datagramlar için kütle ölçeği talepleri ve nispeten kalın işlenmiş HTML, farklı gereksinimleriniz olduğu anlamına gelir. Bazı örnekler:

  • node.js muhtemelen bunun cannonical örneğidir. Çoğu kişi sunucuda javascript özelliği üzerinde asılır, ama bu kırmızı bir ringa balığı - js ötesinde ilerleyemeyen çocuklar için serin ama önemli değil. Gerçekten şık olan kısım, özellikle küçük, keskin RESTful hizmetlerini sunarken, onu delicesine ölçeklendiren asenkron doğadır. Benzerliklere sahip diğer bazı yığınlar, python veya manos de mono için .NET için bükülebilir.

  • nginx, node.js'nin yaptığı aynı olay IO'sunu (libuv) kullanır ve bazı çevrelerde sunucu pazarını temizler. Apache'den çok daha odaklanmış ve delicesine hızlı.

  • İnce sunucu yığınları, geleneksel olarak çok sayıda varsayım yapan kalın çerçevelere sahip ortamlarda ortaya çıkıyor. IE, yakutta karşı denge rayları için sinatra var. Python'da django'yu dengelemek için şişeye [ve diğerlerine] sahipsiniz. .NET'te MVC ve WebForms'u dengelemek için WebAPI'ye sahipsiniz. Bahsettiğim tüm yığınlar çok, çok incedir ve daha çok (veya tamamen) web sayfalarına değil datagramlara odaklanmıştır. Bahsettiğim hiçbiri, bu günlerde tipik bir web yığınının beklediği cazip ve ORM çeşitlerine sahip değil.

Tüm bunlar, mevcut 10 yaşındaki sunucu tarafı web uygulamasını farklı bir HTTP uç noktasında json sunmak için hackleyerek mobil uygulamalarına hizmet etmekten daha sık değildir. Dünya bu kadar değişmedi - yönetim, 2 tekerlek ve çörek üzerinde toparlanmaya devam edeceklerini düşünür.


1

Bu hala geçerli mi, değilse de büyük değişiklikler nelerdir?

Bahsedilen sunucu tarafı veya istemci-sunucu mimarisini kullanan uygulamalar olduğunu düşünüyorum. Ancak, son yıllarda SOA'ya (Hizmet Odaklı Mimari) doğru büyük bir hareket var . Böylece, güvenli hizmetler yoluyla iletişim tüm istemci uygulamalarına yeni özellikler ve aynı zamanda arka uç iş hizmetlerine erişim / yeniden kullanım sağlar.

Gelişen mobil ve tablet pazarlarında, HTTP uygulamalarının istemci uygulamalarına genişletilmiş hizmet sunmak için önemli bir iletişim kanalı olarak kullanılması daha da önem kazanmaktadır .


1

Çoğu arka uç artık sadece SOAP'ı değil JSON ve REST'i desteklemektedir. Bunun dışında, bir web kullanıcı arabirimi ile mobil uygulama arasında çok fazla fark yoktur. Mobil uygulamalar için sorunların çoğunun ön uçta olduğunu düşünüyorum (daha küçük bir ekrana bilgi sığdırmanın en iyi yolu). Bazı uygulamalar mobil özelliklerden (konum bildirme gibi) yararlanmaya başlıyor, ancak bu her iki tarafta da.

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.