Mini uygulama Geliştirici Araçları

Geliştirici deneyimi

Mini uygulamaları kendi başına ele aldıktan sonra, çeşitli süper uygulama platformlarındaki geliştirici deneyimine odaklanmak istiyorum. Tüm platformlarda mini uygulama geliştirme, süper uygulama platformları tarafından ücretsiz olarak sağlanan IDE'lerde gerçekleşir. Daha fazlası olsa da en popüler dört türe ve karşılaştırma için Hızlı Uygulama'ya odaklanmak istiyorum.

Mini uygulama IDE'leri

Süper uygulamalar gibi IDE'lerin çoğu yalnızca Çince olarak kullanılabilir. Bazen İngilizce (veya denizaşırı) sürümü mevcut olsa da güncel olmayabileceğinden Çince sürümü yüklemeniz gerekir. macOS geliştiriciyseniz tüm IDE'lerin imzalanmadığını unutmayın. Bu, macOS'in yükleyiciyi çalıştırmayı reddettiği anlamına gelir. Apple Yardım'da belirtildiği gibi kendi sorumluluğunuzda bu adımı atlayabilirsiniz.

Mini uygulama başlangıç projeleri

Mini uygulama geliştirmeye hızlı bir şekilde başlamak için tüm süper uygulama sağlayıcılar, hemen indirilip test edilebilen ve bazen çeşitli IDE'lerin "Yeni Proje" sihirbazlarına entegre edilmiş demo uygulamalar sunar.

Geliştirme akışı

IDE'yi başlattıktan ve bir (demo) mini uygulama yükledikten veya oluşturduktan sonra ilk adım her zaman giriş yapmaktır. Genellikle, IDE tarafından oluşturulan bir QR kodunu süper uygulamayla (zaten oturum açtığınız uygulama) taramanız yeterlidir. Şifre girmeniz çok nadiren gerekir. IDE, oturum açtıktan sonra kimliğinizi tanır ve programlamaya, hata ayıklamaya, test etmeye ve uygulamanızı incelenmek üzere göndermeye başlamanıza olanak tanır. Aşağıda, yukarıdaki paragrafta bahsedilen beş IDE'nin ekran görüntülerini görebilirsiniz.

Simülasyon aracını, kod düzenleyiciyi ve hata ayıklayıcıyı gösteren WeChat DevTools uygulama penceresi.
Simülatör, kod düzenleyici ve hata ayıklayıcı içeren WeChat Geliştirici Araçları.
Kod düzenleyiciyi, simülasyon aracını ve hata ayıklayıcıyı gösteren Alipay DevTools uygulama penceresi.
Kod düzenleyici, simülatör ve hata ayıklayıcı içeren Alipay Geliştirici Araçları.
Simülasyon aracını, kod düzenleyiciyi ve hata ayıklayıcıyı gösteren Baidu DevTools uygulama penceresi.
Simülasyon aracı, kod düzenleyici ve hata ayıklayıcı içeren Baidu DevTools.
Simülasyon aracını, kod düzenleyiciyi ve hata ayıklayıcıyı gösteren ByteDance DevTools uygulama penceresi.
Simülatör, kod düzenleyici ve hata ayıklayıcı içeren ByteDance Geliştirici Araçları.
Kod düzenleyiciyi, simülasyon aracını ve hata ayıklayıcıyı gösteren Hızlı Uygulama Geliştirici Araçları uygulama penceresi.
Hızlı Uygulama Geliştirici Araçları'nda kod düzenleyici, simülatör ve hata ayıklayıcı bulunur.

Gördüğünüz gibi, tüm IDE'lerin temel bileşenleri çok benzer. VS Code'u da destekleyen Monaco Editor'a dayalı bir kod düzenleyiciniz her zaman vardır. Tüm IDE'lerde, Chrome DevTools ön ucu temelli ve bazı değişiklikler içeren bir hata ayıklayıcı bulunur. Bu değişiklikler hakkında daha fazla bilgiyi aşağıda bulabilirsiniz (Hata Ayıklama Aracı bölümüne bakın). IDE'ler kendileri NW.js veya Electron uygulamaları olarak uygulanır. IDE'lerdeki simülasyon araçları ise NW.js <webview> etiketi veya Electron <webview> etiketi olarak uygulanır. Bu etiketler de Chromium <webview> etiketine dayanır. IDE'nin iç işleyişiyle ilgileniyorsanız çoğu zaman Kontrol+Alt+I (veya Mac'te Komut+Option+I) klavye kısayolunu kullanarak Chrome DevTools ile bunları inceleyebilirsiniz.

Chrome Geliştirici Araçları, Chrome Geliştirici Araçları&#39;nın Öğeler panelinde simülatörün web görünümü etiketini gösteren Baidu&#39;nun Geliştirici Araçları&#39;nı incelemek için kullanılır.
Baidu DevTools'u Chrome Geliştirici Araçları ile incelediğimizde, simülatörün bir Electron <webview> etiketi olarak uygulandığını görüyoruz.

Simülatör ve gerçek cihaz testleri ve hata ayıklama

Simülatör, Chrome Geliştirici Araçları'ndaki cihaz moduyla benzerdir. Farklı Android ve iOS cihazları simüle edebilir, ölçeği ve cihaz yönünü değiştirebilir, ayrıca çeşitli ağ durumlarını, bellek baskısını, barkod okuma etkinliğini, beklenmedik sonlandırmayı ve karanlık modu simüle edebilirsiniz.

Yerleşik simülatör, uygulamanın nasıl davrandığına dair genel bir fikir edinmek için yeterli olsa da normal web uygulamalarında olduğu gibi cihaz üzerinde testin yeri doldurulamaz. Geliştirme aşamasındaki mini uygulamaları test etmek için tek yapmanız gereken QR kodunu taramak. Örneğin, ByteDance DevTools'ta IDE tarafından dinamik olarak oluşturulan bir QR kodunu gerçek bir cihazla taradığınızda mini uygulamanın bulutta barındırılan bir sürümü oluşturulur. Bu sürüm daha sonra cihazda hemen test edilebilir. Bu işlem ByteDance için şu şekilde çalışır: QR kodunun arkasındaki URL (örnek), Douyin veya Toutiao gibi çeşitli ByteDance süper uygulamalarında mini uygulamayı önizlemek için snssdk1128:// gibi özel URI şemalarına sahip bağlantılar içeren barındırılan bir sayfaya (örnek) yönlendirir (örnek). Diğer süper uygulama sağlayıcılar, ara sayfaya gitmeden doğrudan önizlemeyi açar.

Kullanıcının cihazındaki mevcut mini uygulamayı görmek için Douyin uygulamasıyla tarayabileceği bir QR kodu gösteren ByteDance DevTools.
Kullanıcının cihaz üzerinde anında test yapmak için Douyin uygulamasıyla tarayabileceği bir QR kodunu gösteren ByteDance DevTools.
İşlemin tersine mühendisliği için normal bir masaüstü tarayıcısında açılan, şirketin çeşitli süper uygulamalarında bir ByteDance mini uygulamasının önizlemesini yapan ara açılış sayfası.
Mini uygulamayı önizlemek için ara ByteDance açılış sayfası (akışı göstermek üzere masaüstü tarayıcıda açılır).

Daha da ilgi çekici bir özellik ise bulut tabanlı önizleme uzaktan hata ayıklama özelliğidir. IDE tarafından oluşturulan özel bir QR kodunu taramanız yeterlidir. Mini uygulama fiziksel cihazda açılır ve uzaktan hata ayıklama için bilgisayarda bir Chrome DevTools penceresi çalışır.

Bir dizüstü bilgisayarda çalışan ByteDance DevTools hata ayıklayıcısı tarafından vurgulanan kullanıcı arayüzü bölümlerinin yer aldığı mini bir uygulamanın çalıştığı bir cep telefonu.
ByteDance Geliştirici Araçları ile gerçek bir cihazda mini uygulamada kablosuz uzaktan hata ayıklama.

Hata Ayıklayıcı

Öğelerde hata ayıklama

Mini uygulama hata ayıklama deneyimi, daha önce Chrome DevTools ile çalışmış olan herkese çok tanıdık gelecektir. Ancak iş akışını mini uygulamalara uyarlayan bazı önemli farklılıklar vardır. Mini uygulama IDE'lerinde, Chrome DevTools'un Öğeler paneli yerine, HTML lehçesine göre özelleştirilmiş bir panel bulunur. Örneğin, WeChat'te panelin adı Wxml'dir (WeiXin Biçimlendirme Dili). Baidu DevTools'ta buna Kuğu Öğesi denir. ByteDance DevTools bu dosyayı Bxml olarak adlandırır. Alipay bu paneli AXML olarak adlandırır ve Hızlı Uygulama bu panele yalnızca UX olarak referans verir. Bu işaretleme dillerini daha sonra ayrıntılı olarak inceleyeceğiz.

WeChat DevTools&#39;un &quot;Wxml&quot; paneliyle bir resmi inceleme. Kullanılan etiketin &quot;image&quot; etiketi olduğunu gösterir.
WeChat Geliştirici Araçları ile bir <image> öğesini inceleme.

Özel öğelerin işleyiş şekli

about://inspect/#devices aracılığıyla gerçek bir cihazda WebView'i incelediğimizde WeChat DevTools'un kasıtlı olarak gerçeği gizlediğini görüyoruz. WeChat DevTools'un <image> gösterdiği yerde, aslında tek alt öğesi <div> olan <wx-image> adlı özel bir öğe görüyorum. Bu özel öğenin Gölge DOM kullanmadığını belirtmek ilginçtir. Bu bileşenler hakkında daha fazla bilgiyi daha sonra bulabilirsiniz.

Chrome Geliştirici Araçları ile gerçek bir cihazda çalışan bir WeChat mini uygulamasını inceleme. WeChat Geliştirici Araçları bir &quot;image&quot; etiketine baktığımı bildirmesine rağmen Chrome Geliştirici Araçları aslında bir &quot;wx-image&quot; özel öğesiyle uğraştığımı gösteriyor.
WeChat Geliştirici Araçları ile bir <image> öğesini incelediğinizde bunun aslında bir <wx-image> özel öğesi olduğunu görebilirsiniz.

CSS hata ayıklama

Diğer bir fark, CSS'nin çeşitli lehçelerinde duyarlı piksel için yeni uzunluk birimi rpx'tür (bu birim hakkında daha fazla bilgiyi daha sonra bulabilirsiniz). WeChat DevTools, farklı cihaz boyutları için geliştirmeyi daha sezgisel hale getirmek amacıyla cihazdan bağımsız CSS uzunluk birimleri kullanır.

WeChat DevTools&#39;ta &quot;200rpx&quot; üst ve alt dolgu değeriyle belirtilen bir görünümü inceleme.
WeChat Geliştirici Araçları ile bir görünümün duyarlı piksellerde (200rpx 0) belirtilen dolgusunu denetleme.

Performans denetimi

Mini uygulamalarda performans ön plandadır. Bu nedenle, WeChat Geliştirici Araçları ve diğer bazı Geliştirici Araçları'nda Lighthouse'dan ilham alan entegre bir denetim aracının bulunması şaşırtıcı değildir. Denetimlerin odak alanları Toplam, Performans, Deneyim ve En İyi Uygulama'dır. IDE'nin görünümü özelleştirilebilir. Aşağıdaki ekran görüntüsünde, denetim aracı için daha fazla ekran alanı elde etmek amacıyla kod düzenleyiciyi geçici olarak gizledim.

Dahili denetim aracıyla performans denetimi çalıştırma. Puanlar; Toplam, Performans, Deneyim ve En İyi Uygulama&#39;yı gösterir. Her biri 100 üzerinden 100 puandır.
WeChat Geliştirici Araçları'ndaki yerleşik Denetim aracında Toplam, Performans, Deneyim ve En İyi Uygulama gösterilmektedir.

API taklit etme

API yanıtlarını taklit etme özelliği, geliştiricinin ayrı bir hizmet oluşturmasını gerektirmez. Bu özellik doğrudan WeChat DevTools'un bir parçasıdır. Geliştirici, kullanımı kolay bir arayüz üzerinden API uç noktalarını ve istenen örnek yanıtları ayarlayabilir.

WeChat Geliştirici Araçları&#39;nda bir API uç noktası için örnek yanıt oluşturma.
WeChat Geliştirici Araçları'nın entegre API yanıtı taklit etme özelliği.

Teşekkür ederiz

Bu makale, Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent ve Keith Gu tarafından incelendi.