Mini uygulama Geliştirici Araçları

Geliştirici deneyimi

Mini uygulamalardan bahsettikten 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 yapılır. Daha fazla olsa da en popüler dört tanesine ve karşılaştırma için bir beşinciye odaklanmak istiyorum.

Mini uygulama IDE'leri

Süper uygulamalar gibi, IDE'lerin çoğu yalnızca Çince olarak kullanılabilir. Bazen kullanılabilen İngilizce (veya yurt dışı) sürüm yerine Çince sürümü yüklediğinizden emin olmanız gerekir. Aksi takdirde, güncel olmayan bir sürüm yükleyebilirsiniz. macOS geliştiricisiyseniz tüm IDE'lerin imzalanmadığını ve bu nedenle macOS'in yükleyiciyi çalıştırmayı reddettiğini unutmayın. Tüm riski size ait olmak üzere, Apple yardımında belirtildiği gibi 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 indirip test edebileceğiniz ve bazen çeşitli IDE'lerin "Yeni Proje" sihirbazlarına da entegre edilen demo uygulamalar sunar.

Geliştirme akışı

IDE'yi başlattıktan ve bir (demo) mini uygulamayı yükledikten veya oluşturduktan sonraki ilk adım her zaman oturum açmaktır. Genellikle IDE tarafından oluşturulan QR kodunu süper uygulamayla (zaten oturum açmış olduğunuz) taramanız yeterlidir. Çok nadiren şifre girmeniz gerekir. Oturum açtıktan sonra, IDE kimliğinizi bilir ve programlamaya, hata ayıklamaya, test etmeye ve uygulamanızı incelemeye 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ülatörü, 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üzenleyici, simülatör 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 DevTools.
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 Geliştirici Araçları.
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üzenleyici, simülatör ve hata ayıklayıcıyı gösteren Quick App DevTools uygulama penceresi.
Kod düzenleyici, simülatör ve hata ayıklayıcı içeren Quick App Geliştirici Araçları.

Gördüğünüz gibi, tüm IDE'lerin temel bileşenleri birbirine çok benzer. Monaco Editor'a dayalı bir kod düzenleyiciye her zaman sahip olursunuz. Bu düzenleyici, VS Code'u da destekleyen aynı projedir. Tüm IDE'lerde, Chrome Geliştirici Araçları ön ucuna dayalı ve bazı değişiklikler yapılmış bir hata ayıklayıcı bulunur. Bu değişiklikler hakkında daha fazla bilgiyi sonraki bölümlerde bulabilirsiniz (bkz. Hata Ayıklayıcı). IDE'ler tek başına NW.js veya Electron uygulamaları olarak uygulanır. IDE'lerdeki simülatörler ise NW.js <webview> etiketi veya Electron <webview> etiketi olarak gerçekleştirilir. Bu etiketler de Chromium <webview> etiketine dayanır. IDE'nin iç işleyişiyle ilgileniyorsanız bunları genellikle klavyedeki Control+Alt+I (veya Mac'te Command+Option+I) klavye kısayoluyla Chrome Geliştirici Araçları'nda inceleyebilirsiniz.

Chrome Geliştirici Araçları, Baidu&#39;nun Geliştirici Araçları&#39;nı incelemek için kullanıldı. Bu araçlar, Chrome Geliştirici Araçları&#39;nın Öğeler panelinde simülatörün web görünümü etiketini gösteriyor.
Baidu Geliştirici Araçları'nı Chrome Geliştirici Araçları ile incelediğimizde simülatörün bir Electron <webview> etiketi olarak gerçekleştirildiği görülüyor.

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

Simülatör, Chrome Geliştirici Araçları'ndaki cihaz modu ile 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 koyu modu simüle edebilirsiniz.

Yerleşik simülatör, uygulamanın nasıl davrandığına dair kabaca bir fikir edinmek için yeterli olsa da normal web uygulamalarında olduğu gibi cihaz üzerinde testin yerini hiçbir şey tutmaz. Geliştirme aşamasındaki bir mini uygulamayı test etmek için QR kodunu taramanız yeterlidir. Örneğin, ByteDance Geliştirici Araçları'nda, entegre geliştirme ortamı tarafından dinamik olarak oluşturulan bir QR kodunun gerçek bir cihazla taranması, mini uygulamanın bulutta barındırılan bir sürümüne yönlendirir. Bu sürüm daha sonra cihazda hemen test edilebilir. ByteDance'te bu işlem, QR kodunun arkasındaki URL'nin (örnek) barındırılan bir sayfaya (örnek) yönlendirilmesiyle çalışır. Bu sayfa, Douyin veya Toutiao gibi çeşitli ByteDance süper uygulamalarında mini uygulamayı önizlemek için snssdk1128:// gibi özel URI şemaları içeren bağlantılar içerir (örnek). Diğer süper uygulama sağlayıcılar ara sayfadan geçmez ancak önizlemeyi doğrudan açar.

ByteDance Geliştirici Araçları&#39;nda, kullanıcının Douyin uygulamasıyla tarayarak cihazında mevcut mini uygulamayı görebileceği bir QR kodu gösteriliyor.
ByteDance DevTools, kullanıcının cihaz üzerinde anında test için Douyin uygulamasıyla tarayabileceği bir QR kodu gösteriyor.
ByteDance mini uygulamasının şirketin çeşitli süper uygulamalarında önizlemesini yapmak için kullanılan ara açılış sayfası. Süreci tersine mühendislik yöntemiyle incelemek için normal bir masaüstü tarayıcısında açılmıştır.
Bir mini uygulamayı önizlemek için ByteDance ara açılış sayfası (akışı göstermek için masaüstü tarayıcıda açılır).

Daha da ilgi çekici bir özellik ise bulut tabanlı önizleme uzaktan hata ayıklamadır. IDE tarafından oluşturulan özel bir QR kodu tarandıktan sonra mini uygulama, fiziksel cihazda açılır. Uzaktan hata ayıklama için bilgisayarda Chrome Geliştirici Araçları penceresi çalışır.

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

Hata Ayıklayıcı

Öğelerde hata ayıklama

Mini uygulama hata ayıklama deneyimi, Chrome DevTools ile çalışmış olan herkes için çok tanıdıktır. Ancak, iş akışını mini uygulamalara göre uyarlayan bazı önemli farklılıklar vardır. Chrome Geliştirici Araçları'ndaki Öğeler paneli yerine, mini uygulama IDE'lerinde HTML'nin kendi lehçesine göre uyarlanmış özelleştirilmiş bir panel bulunur. Örneğin, WeChat'te panelin adı Wxml'dir. Bu ad, WeiXin Biçimlendirme Dili'nin kısaltmasıdır. Baidu Geliştirici Araçları'nda bu özelliğe Swan Element adı verilir. ByteDance Geliştirici Araçları, buna Bxml adını veriyor. Alipay bu panele AXML, Quick App ise UX adını veriyor. Bu işaretleme dillerini daha sonra ayrıntılı olarak ele alacağım.

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

Özel öğelerin işleyiş şekli

about://inspect/#devices üzerinden gerçek bir cihazda WebView'ı incelediğimizde WeChat Geliştirici Araçları'nın gerçeği kasıtlı olarak gizlediği ortaya çıkıyor. WeChat DevTools'un <image> gösterdiği yerde, baktığım şey aslında tek alt öğesi <div> olan <wx-image> adlı özel bir öğe. Bu özel öğenin Shadow DOM kullanmadığını belirtmekte fayda var. Bu bileşenler hakkında daha fazla bilgiyi ilerleyen bölümlerde 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ı bildirirken Chrome Geliştirici Araçları aslında bir &quot;wx-image&quot; özel öğesiyle uğraştığımı gösteriyor.
Weixin Geliştirici Araçları ile bir <image> öğesi incelendiğinde aslında <wx-image> özel öğesi olduğu ortaya çıkıyor.

CSS hata ayıklama

Bir diğer fark ise CSS'nin çeşitli lehçelerinde duyarlı piksel için yeni uzunluk birimi rpx'dir (bu birim hakkında daha sonra bilgi verilecektir). WeChat DevTools, farklı cihaz boyutları için geliştirme sürecini daha sezgisel hale getirmek amacıyla cihazdan bağımsız CSS uzunluk birimlerini kullanır.

WeChat Geliştirici Araçları&#39;nda, üst ve alt dolgusu `200rpx` olarak belirtilmiş bir görünümü inceleme.
WeChat Geliştirici Araçları ile bir görünümün duyarlı piksellerinde (200rpx 0) belirtilen dolguyu inceleme.

Performans denetimi

Performans, mini uygulamalar için çok önemlidir. Bu nedenle, WeChat Geliştirici Araçları ve diğer bazı geliştirici araçlarında Lighthouse'tan ilham alınarak geliştirilmiş bir denetim aracı 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ı sağlamak amacıyla kod düzenleyiciyi geçici olarak gizledim.

Dahili denetim aracıyla performans denetimi gerçekleştirme. Puanlar; Toplam, Performans, Deneyim ve En İyi Uygulama olarak gösterilir. Her biri 100 üzerinden 100 puan alır.
Weixin Geliştirici Araçları'ndaki yerleşik denetleme aracı, Toplam, Performans, Deneyim ve En İyi Uygulama'yı gösteriyor.

API sahteciliği

Geliştiricinin ayrı bir hizmet ayarlaması gerekmez. API yanıtlarını taklit etmek doğrudan WeChat Geliştirici Araçları'nın bir parçasıdır. Geliştirici, kullanımı kolay bir arayüz aracılığıyla API uç noktalarını ve istenen sahte yanıtları ayarlayabilir.

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

Teşekkür

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