2016-09-03 45 views
6

Ben bir Android geliştiricisiyim ve kullanıcıları bir harita üzerinde gösteren ve görevlerini konumlarına göre gerçekleştiren bir uygulama yapmak istiyorum.Bir mobil uygulamanın sunucu arka planı nasıl yapılır?

Uygulamanın tüm modeli sunucuda çalışmalıdır.

Sorun olması

  • sonuçları ile belirli kullanıcılara yanıtı gönderir kullanıcıların yere göre
  • hesaplamaları yapar kullanıcı yerini alır: Ben bir API gerek Sunucu tarafında programlamada 0 deneyim.

    Lütfen bana sunucuyu yapma yöntemini önerir misiniz?

    Google Colud Platform ve this videosunu kontrol ettim. Video, uygulama ile sunucu arasındaki bağlantıyı ele alıyor, ancak gerçekten ihtiyacım olan şey modeli kodlamak ve bulutta dağıtmak.

    Sunucu tarafında programlama deneyimi olmayan bir geliştirici olarak böyle bir uygulama için API oluşturmanın yolu nedir?

    Mobil uygulama için bulut arka planı oluşturma sürecinden geçen bir öğretici önerebilir misiniz?

+0

Firebase'i düşündünüz mü? Google tarafından sağlanan harika bir BAAS (bir Hizmet olarak Arka Plan), uygulamanın arka ucunda daha az endişelenebilirsiniz. Şuna göz atın: https://firebase.google.com/features/ – RamithDR

+0

Eğer yaptıysanız bu uygulamayı hangi yolla geliştirdiniz merak ettiniz mi? Tanımladığınıza çok benzer bir uygulama ile çok benzer bir durumdayım. Karmaşık mantığın firebase arka plan ile yapılandırılması çok zor buldum ve sanırım kendi dinlendirici arka uçlarımı uygulamalıyım. herhangi bir ipucu büyük ölçüde takdir edilecektir. –

+1

O zamanlar Java'da yazıldığı gibi, arka uç geliştirmek için Spring platformunu kullandım. Şimdi, golang'a bakmanızı ve bu dil ile yüksek karmaşıklığın arka ucunu geliştirmenin ne kadar kolay olduğunu tavsiye ederim. Artı, sonunda, Go – BabbevDan

cevap

9

Bu çok karmaşık bir sorudur. FireBase gibi "hazır" bir çözüm kullanmamanızı tavsiye ederim çünkü ihtiyaç duyduğunuzda daha sonra "uygun" bir API'ye dönüştürmek daha da zor. Eğer Android'i tanıyorsanız, o zaman Java'yı bilirsiniz, tavsiye ettiğim Spring Framework gibi bir çerçeve ile çalışmayı öğrenirken sorun yaşamayacaksınız. Arka uçtaki Java'nın Tomcat gibi bir Java Servlet konteynerine ihtiyacı var. Önce bunun için makinenizde bir geliştirme ortamı kurmalısınız. Spring Framework REST eğiticileri için Spring Framework eğitimlerini araştırmanızı tavsiye ederim.

İkinci olarak verileri depolamak için MySql veya MongoDB gibi bir veritabanına ihtiyacınız olacak. Yay, en yaygın veritabanlarının çoğuna hazır bağlantılar ile gelir, bu yüzden onlarla çalışmak oldukça kolaydır.

Hizmetinizi dağıtmaya hazır olduğunuzda, önce ücretsiz olarak hizmetinizi çalıştırabileceğiniz bir PAAS benzeri Heroku.com kullanmanızı öneririz. Bu sayede her şeyi kendiniz kontrol edersiniz ve ayrıca kullanışlı bir beceri öğrenirsiniz.

+0

İlkbahar kullanıyorum. Teşekkürler :) – BabbevDan

1

JAVA arka planından geldiğiniz için, sadece bazı temel yapı taşlarına ihtiyacınız var ve gitmek için iyi olmalısınız.

  • Kullanım PASS: Onlar sunucu tarafında herhangi bir şey aşina olmayan göz önünde bulundurarak büyük bir rahatlama olacak senin tarafında herhangi devops alacaktır. Heroku veya App Engine'i kullanmanızı tavsiye ederim. Üstte JAVA ile App Engine'in kılavuzu. https://cloud.google.com/appengine/docs/java/

  • Veritabanı: Kullanıcı verilerinizi şu anda nasıl depoladığınız ve yönetdiğinizden emin değilsiniz, ancak veritabanına ihtiyacınız varsa, şu anda kullanılabilenler vardır. Firebase'in en iyi öneri olmasının sebebi, gerçek zamanlı olarak kullanılmasına neden olmakta ve yanınızda çok fazla zaman harcamadan sizin tarafınızdan kontrol edilmesini sağlamaktadır.

  • API'ler: Kullanıcının coğrafi konumunu alıp sunucuya gönderirsiniz. Sunucuda bunu gerçek bir dünya konumuna ve başka bir mantığa göre işlemeniz gerekir.Bunun için Google'ın GeoLocation ve reverse geocoding API'lerini kullanmanız gerekecektir. Burada apis bul: https://console.cloud.google.com/apis/

Ayrıca herhangi bir yardım olursa, App Engine ve Heroku hem serbest sınırlarını sunmak ve kullanım durumu için oldukça yeterli olmalıdır.