Web Geliştiricilerinin Nesnelerin İnterneti Hakkında Bilmeleri Gerekenler Nelerdir?

Yayınlanan: 2017-10-30

Web geliştirme, İnternet Çağının başlangıcında, daha hızlı, daha güçlü bilgisayarların birbirleriyle telefon hatları üzerinden konuşmasını sağlamaya başladığımızda ortaya çıktı.

İnternet daha sofistike hale geldikçe; web geliştirme daha teknik ve daha profesyonel hale geldi. Şimdi, İnternet Çağını geride bırakıyoruz ve hiçbir zaman bilgisayar olarak kabul edilmeyen cihazların birbirleriyle, kullanıcılarla ve sunucularla sadece bizim yeni konuşabileceğimiz şekilde konuşabildiği Nesnelerin İnterneti (IoT) Çağına geçiyoruz. hayal etmek.

Bugün, bir şeyler satın almak için bilgisayar ekranlarındaki web sitelerine gitmemize gerek yok. Bunun yerine, Alexa'dan sesle etkinleştirilen Amazon Echo'muz aracılığıyla bir şeyler satın almasını istiyoruz. Termostatı değiştirmek için eve gelmemizi beklemiyoruz. Nest'imizi akıllı telefonumuza bağlarız ve telefonumuz evden yaklaşık 30 dakika uzakta olduğumuzu algıladığında ısıtmayı açmasını söyleriz.

Şu anda, bu düzeyde bir bağlantı oldukça rahat buluyoruz, ancak Nesnelerin İnterneti Çağı ilerledikçe, cihazlarımızın iş, oyun ve ev arasında benzeri görülmemiş şekillerde senkronize edildiğini göreceğiz. IoT, hayatımız için o kadar yıkıcı olacak ki, geleceğin nasıl olacağını doğru bir şekilde hayal etmek zor, ancak kesin olarak bildiğimiz bir şey var. IoT'nin web geliştirme üzerinde şimdiden büyük bir etkisi oldu ve etkisi daha da artacak.

Bu, tüm web geliştiricilerinin bir noktada IoT'yi dikkate alması gerekeceği anlamına gelir. Eğrinin önüne geçmek adına, web geliştiricilerinin Nesnelerin İnterneti hakkında bilmesi gereken her şeyi belirledik.

Web Geliştirme ve Nesnelerin İnterneti Şimdi

Bunlar, IoT geliştirmenin Vahşi Batı günleridir. Şu anda çok az standardizasyonla çok fazla spekülasyon ve deney var (en az beş büyük kuruluş aynı anda IoT standartları üzerinde çalışıyor). Bu yüzden işlerin nasıl sonuçlanacağını tam olarak bilmiyoruz. Ancak uzmanlar bugün IoT'nin web geliştirme üzerindeki etkisini tartışırken belirli alanların tekrar tekrar ortaya çıktığını görebiliriz.

IoT'nin Web Geliştirme Üzerindeki Etkisi Şimdi
  • Arka uç her yerde : Şu anda her cihaz kendi küçük dünyasında inşa edilmiştir. Her şirketin, cihazların birbirine bağlanması ve birbirleriyle konuşması için kendi yolu vardır. Her cihaz kendi tür verilerini toplar ve her cihaz, çalışmak için kendi tür komutlarını kullanır. Bu, birçok uygulama geliştirme merkezinin, uygulamanızın halihazırda kurulmuş diğer uygulamalarla iyi uyum sağlaması anlamına gelir. Node.js, IoT cihazları arasında iletişim kurmak için önde gelen bir çerçeve olarak ortaya çıktığı için buna yardımcı olur. Yine de sorun pek çözülmüş değil.
  • Arayüzler basitliğe ihtiyaç duyar : Söz konusu cihazlar olduğunda hiç kimsenin karmaşık komutları anlamaya vakti yoktur, bu nedenle bir kahve makinesinin kontrol panelinde netlik eksikliği için yer yoktur. Başka bir deyişle, kullanıcı arayüzlerinin alınması kolay ve duyarlı olmalıdır. Kullanılabilirlik kemerinizdeki tüm araçlar, IoT cihazları için kullanıcı arayüzleri tasarlarken kullanılacaktır, özellikle çoğu şirket ürünlerinin akıllı telefonlardan ve cihazların kendi ekranlarından kontrol edilmesini isteyeceğinden. Kontroller, makinede olduğu kadar telefonda da açık olmalıdır. Karmaşıklık sadece perde arkasında gelmelidir. Kullanıcının görmesi gereken şey temiz, mantıklı bir tasarımdır.
  • Ağ gecikmesini azaltın : Yazıcınızda bir düğmeye bastığınızda, hemen yazdırmaya başlamasını beklersiniz. Ancak IoT cihazlarında komut, ekrandan doğrudan cihaza değil, ekrandan sunucuya ve cihaza gider. Bu ekstra adım, özellikle yavaş ağ bağlantılarında komut ile eylem arasında bir arabellek oluşturabilir. Kullanıcılar, hiçbirini hayatlarında istemedikleri ya yavaş ya da etkisiz bir ürün göreceklerdir. Bu nedenle IoT geliştiricileri, yavaş ve hatta kesintiye uğramış bağlantıları işleyebilecek ve tutacak uygulamalar tasarlamak zorundadır, böylece kullanıcılar cihazlarından istediklerini alırlar.
  • Gücü düşünün : Hepimiz gücü düşünmeyi severiz, değil mi? Umarım cevap 'evet'tir, çünkü IoT geliştiricileri, uygulamalarının her noktada ne kadar bilgi işlem gücü kullandığını düşünmek zorunda kalacaklar. Neden? Niye? Çoğu IoT cihazı pille çalışır, kablosuzdur ve kapsamlı bellek yongaları için çok fazla alana sahip değildir. Uygulama ne kadar karmaşık olursa, çipin daha uzun süre tüketmesi gereken güç o kadar fazla olur, bu da pili tüketir ve paralarını geri isteyen hayal kırıklığına uğramış müşterilere yol açar. Kısacası, bir uygulamanın tasarımının her parçası, mutlak minimum miktarda güç kullanmalıdır.
  • Gizlilik ve güvenlik : Bu alan biraz zordur çünkü gizlilik ve güvenlik çok özneldir. Neyin güvenli olduğu ve neyin gizli tutulması gerektiği konusundaki fikirler, özellikle kolaylık sağlamak için ticaret yaptığımızda, sürekli değişiyor. Örneğin, çoğumuz işverenlerimizin hareketlerimizi takip etmesine olanak tanıyan implante edilebilir sensörler konusunda tedirgin hissediyoruz, ancak İsveçli startup Epic entre'deki çalışanlar enjeksiyonları isteyerek alıyorlar ve hatta implante edilebilir teknolojiye sahip olmak için gönüllü olan diğer kişiler için partilere ev sahipliği yapıyor. Ana motivasyonları olarak implante edilebilir kimlik cihazlarının rahatlığını belirtiyorlar. 2000'lerin başında çevrimiçi alışverişle ilgili tüm korkuları da düşünün. Kimlik hırsızlığı ve yaygın dolandırıcılık da dahil olmak üzere bu korkuların çoğu gerçekleşti, ancak çoğumuz evlerimizden alışveriş yapmanın rahatlığı için güvenliğimizi mutlu bir şekilde takas ediyoruz. Yine de suçlular, nüfuz edilebilir ağlara bağlı daha fazla cihaza sahip olmanın daha fazla dolandırıcılık ve çalma fırsatı anlamına geldiğini biliyor. Bu nedenle kimlik hırsızlığı korumasının yanı sıra genel güvenlik ve gizliliğin hem ağlara hem de cihazların kullandığı uygulamalara yerleştirilmesi gerekir. Ne kadar çok duvarın kırılması gerekiyorsa, suçluların o kadar az teşviki ve fırsatı olur.
  • Bildiklerinize bağlı kalmak sizi kurtarmaz : IoT geliştirme üzerinde çalışmak istemediğinize karar verseniz bile, herhangi bir şey geliştirirken yine de IoT'yi düşünmek zorunda kalacaksınız. Bunu şu şekilde düşünün: Tahminen 35,6 milyon insanın evlerinde sesli hoparlörler var. Şu anda, onları şirketin kendi web sitelerine erişmek için kullanma eğilimindeler (Amazon'dan bir şeyler sipariş eden Amazon Echo kullanıcıları gibi). Ancak bu yetenek genişleyecek ve kullanıcılar hemen hemen her IoT cihazından herhangi bir web sitesine erişebilmeyi bekleyecekler. Bu nedenle, daha önceki duyarlı tasarım gibi, yalnızca bir zaman meselesi, bir web sitesi kullanıcılarının büyük bir bölümünün bir IoT cihazından geleceğini ve buna göre oluşturulacağını varsaymanız gerekir.
Şimdi Bilmeniz Gereken Diller

Bu nedenle, IoT geliştirme yürüyüşü temelde kaçınılmazdır ve IoT için geliştirmeye başladığınızda belirli dilleri kullanmaya başlamanız gerekir. Günümüzde kullanılan birçok programlama dili vardır, ancak bunlar IoT geliştiricileri tarafından en sık kullanılanlardır.

  • C : Sınırlı belleğe sahip cihazlarda iyi çalışan akıcı bir dil olduğu için şimdilik bu yaygın bir seçimdir. Bununla birlikte, cihazlar daha gelişmiş hale geldiğinde, C'nin yetenekleri geride kalacaktır.
  • C++ : Bu, günümüzde yaygın olarak kullanılan diller arasında en karmaşık olanıdır, çünkü güçlü ama yine de oldukça çeviktir. Ne yazık ki, karmaşıklığı, çoğu IoT cihazının şu anda üstesinden gelemediği için çok yaygın olarak benimsenmediği anlamına geliyor. Bu, geliştiricilerin daha yüksek düzeyde ve daha yaygın olarak kullanılan dillerle geliştirme sorunlarını çözmenin yollarını buldukça gelecekte de benimsenmediği anlamına gelebilir.
  • Java : Java, en yaygın olarak öğretilen geliştirme dilleri arasındadır, bu nedenle hemen hemen herkes onu nasıl kullanacağını bilir. Ayrıca, C++ kadar güçlü olmasa da, günümüzün IoT cihazlarının sınırlı belleklerinin işlemesi daha kolaydır. Bu iki şeyi birleştirin - geniş kullanımı ve en güncel geliştirme ihtiyaçlarına uygunluğu - ve en popüler geliştirme dillerinden birine sahip olursunuz.
  • Python : Bu, Java ile aynı nedenlerden dolayı şu anda IoT geliştirmedeki diğer büyük dildir. İyi kurulmuş, yaygın olarak öğretilmiş ve esnektir. Bunun için büyük bir şey Raspberry Pi. Pi'nin ana programlama dili olan Python, IoT geliştirmenin merkezinde yer alır. Pi'nin gücü, küçük boyutu ve düşük fiyatı, öğrenciler ve deneyciler için ideal olduğu anlamına gelir ve artık robot araştırmalarından oldukça basit hareketle etkinleştirilen kameralar oluşturmaya kadar her şeyde kullanılmaktadır.
IoT ve Web Geliştirmenin Geleceği

Bu, bir deney ve vahşi spekülasyon zamanı olabilir, ancak ufukta hala bazı net değişiklikler var. Web siteleri, tüketicilerin ürünleri araştırdığı ve satın aldığı tek yer olmayacak. Ofis çalışanlarının verimliliğini takip eden envanter kontrol uygulamaları ve sensörler, insanların günlük aktivitelerinde akıllı ısıtıcılar ve internete erişilebilen bebek monitörleri kadar yaygın hale gelecek. IoT alanında, Google ve Apple ya birlikte oynamayı öğrenmek zorunda kalacaklar ya da biri diğerini yiyecek çünkü eninde sonunda bunların hepsinin sorunsuz çalışması gerekecek.

Ancak uzmanlar, özellikle web geliştiricileri için en büyük zorluğun zihniyetteki değişim olacağından oldukça eminler. Geliştiricilerin, bireysel cihazlar ve interneti nasıl kullanabilecekleri hakkında düşünmek yerine, neredeyse üründen bağımsız olarak hizmetleri şekillendirmek için kapsamlı kullanıcı verilerini kullanmaları gerekecek.

IoT'nin Gelecekte Web Geliştirme Üzerinde Etkisinin Olduğu Yerler
  • Yalnızca cihazlar için değil, ağlar için uygulamalar: Şu anda IoT cihazları için uygulamalar, bu belirli ürünler için ısmarlama çözümler gibi davranıyor. Geliştiriciler, bir cihazın yapmasını istedikleri harika bir şey düşünürler ve bunun için talimatları oluşturmaya başlarlar. Ancak gelecekte IoT geliştiricilerinin daha geniş düşünmeye başlaması gerekecek. Tek cihazlar için uygulamalar bulmak yerine, bir ağ üzerinde çalışan uygulamalar oluşturabilmeniz gerekecek. Bunu şu şekilde düşünün: Wink gibi ağlar şu anda bir evin tüm IoT cihazlarını tek bir ana uzaktan kumanda altında birbirine bağlıyor, ancak veri toplayan, bilgi paylaşan veya talimatları yerine getiren uygulamaların çoğu hala bireysel cihazların içinde. Gelecekte, IoT bağlantısı, cihazlarda değil ağda oturan en güçlü uygulamaları görecek. Bir anlamda ağ, tüm veri analizini, koordinasyonu ve talimatları sağlayarak daha akıllı hale gelecek ve cihazlar ve cihazlar daha aptal hale gelecek, basit veri toplayıcılara ve talimat takipçilerine indirgenecektir.
  • Giderek daha kişiselleştirilmiş web siteleri : Cihazlar birbirleri arasında daha fazla veri toplayıp paylaşabildiğinden, internette gezinme deneyimlerinin değişeceğini göreceksiniz. Web siteleri, IoT cihazları ve ürünleri tarafından oluşturulan verilere dayalı olarak müşterilere otomatik olarak özel bir hizmet sunabilecektir. Bu, bağlı buzdolabını, çamaşır makinesini ve diğer cihazlarının en sevdikleri çevrimiçi markete veri gönderdiğini görebilir, böylece web sitesini açtığınızda, otomatik olarak onlara düşük olan zımbaları gösterir. Bakkalın web sitesinin piyasadaki her marka ve türde cihazla iletişim kurabilmesi gerekeceğinden, bu, elbette bazı gelişmiş arka uç geliştirmeleri gerektirecektir. Ve endüstri standartları belirlenene kadar, bu gerçekten çok uzun bir sipariş olacak.
  • Her düzeyde entegrasyon : Gelecekte işletmeler, müşteri taleplerine anında cevap verebilmek isteyeceklerdir. Örneğin, üretim hatları, web sitesi satın alımlarındaki artışa dinamik olarak yanıt verecektir. Bu, geliştirdiğiniz tüm uygulamaların tüm üretim hatlarına ve tedarik zincirlerine entegre olması gerektiği anlamına gelir. Aslında, bu kapsamlı entegrasyon, standardizasyonun şu anda bu kadar büyük bir zorluk olmasının nedenidir.
  • Ekranlar tek yol değil : Gelecekte birçok cihaz, kullanıcı etkileşimi yolunda fazla bir şey olmadan birbirleriyle konuşabilir. Nest'te olduğu gibi, kullanıcılar yalnızca basit bir kontrol paneli ile etkileşim kurabilir ve verilerin geri kalanı, kullanıcıların doğrudan etkileşimde bulunmayacağı sensörler ve uygulamalar tarafından toplanır. Bu, ön uç tasarımın daha basit olacağı ve diğer her şeyin çok daha karmaşık olacağı anlamına geliyor.
  • Yeni test konuları : Bir IoT uygulamasını test ettiğinizde, tamamen yeni kavramlar hakkında düşünmeniz gerekir. Ağ gecikmesi durumunda kullanıcılar IoT cihazlarını kontrol edebilecek mi? Hem kullanıcı ile cihaz arasındaki hem de cihaz ile sunucu arasındaki ağ bağlantıları yavaşlarsa veya kesilirse ne olur? Uygulamanın işlevselliğini korumanın ancak güç kullanımını azaltmanın bir yolu var mı? Bunlar, geliştiricilerin test aşamasında kendilerine sürekli sormaları gereken şeylerden sadece birkaçı.
Bilmeniz Gerekebilecek Diller, İşletim Sistemi ve Protokoller

Tahminlerin gerçekten bulanıklaşabileceği yer burasıdır. Programlama dillerinin geçmişteki gelişimi bize bir şey öğrettiyse, o da yarının teknolojisinin bugünün teknolojisiyle pek çok ortak noktası olacağını varsayamayız. Yine de, bu araçların işe yarayacağını düşünmek için birkaç nedenimiz var.

  • JavaScript : Zaten popüler ve halihazırda kullanılıyor, pek çok kişi JavaScript'in ve özellikle Node.js ortamının popülaritesini artırmaya devam edeceğini düşünüyor. En azından, IoT geliştirme kitaplığınızdaki en kullanışlı oklardan biri olacaktır.
  • Weave : Bir dilden çok makineler arası bir iletişim protokolü olan Weave, cihazların birbirleriyle ucuz ve hızlı bir şekilde konuşmasını sağlamak için Google'ın Brillo OS ile birlikte çalışır. Brillo, temel olarak Android'in sadeleştirilmiş bir sürümüdür ve onu sınırlı yeteneklere sahip cihazlar için daha kullanışlı hale getirir. Ayrıca Android'den daha az güç gerektirir, bu da onu IoT geliştirme için daha ucuz ve daha çekici bir seçenek haline getirir.
  • Swift : Bu, Apple'ın açık kaynak dilidir. iOS, MacOS ve HomeKit (Apple'ın tüm IoT cihazlarını bağlamak için kullandığı işletim sistemi) ile çalışır. Apple'ın IoT evreni ile zemin katta yer almak istiyorsanız, bunu bilmeniz gerekir.
  • Henüz icat edilmemiş diller : Biz sadece bunların ne olacağı konusunda tahmin yürütebiliriz ve eğer tarihe geçecek bir şey varsa, tüm tahminlerimizde hemen hemen yanılmış olacağız.
Çözüm

Nesnelerin İnterneti Çağına girmek, eşit ölçülerde heyecan verici ve zorlayıcıdır. Şimdi öğrenebileceğimiz ve yapabileceğimiz şeyler var, ama aslında gelecekte öğrenecek ve çözecek daha çok şey var. Veri yığınlarının ve ağ bağlantılarının hayatımızın her bölümünü şekillendirdiği, daha sorunsuz bağlantılı bir dünyaya geçtiğimizi biliyoruz, ancak bunun gerçekte neye benzediği herkesin tahmininde bulunuyor. JavaScript'in artık yararlı olduğunu ve IoT geliştirmenin omurgasını oluşturacak şekilde büyüyebileceğini biliyoruz, ancak bu mutlaka olacağı anlamına gelmez. Her yeni fırsatın yeni zorluklar ortaya çıkardığını ve her yeni çözümün kendi fırsatlarını ve zorluklarını yarattığını, tahmin etmeye bile başlayamayacağımız şeyleri biliyoruz.

Elbette, çoğu geliştiriciyi alana çeken şey yeni çözümler öğrenme ve icat etme zorluğudur, bu nedenle önümüzdeki on yıllar boyunca ilginizi çekecek ve istihdam sağlayacak çok şey olacaktır. Ve bu muhtemelen web geliştiricilerinin Nesnelerin İnterneti hakkında bilmesi gereken en önemli şey.