SWF uygulaması talimatları hakkında

Animate uygulamalarını geliştirmek için en iyi yol, oluşturduğunuz uygulamaya ve uygulamayı oluşturmak için kullandığınız teknolojiye bağlıdır.

Çevrimiçi bir uygulama, bir kullanıcının bir web sitesiyle etkileşerek onu etkilemesini sağlar. Örneğin, uygulama kullanıcıdan bilgi toplayabilir (bir kayıt için kullanıcı adı ve şifre gibi), siteye bilgi eklenebilir (bir forumda olduğu gibi) veya kullanıcı gerçek zamanlı olarak diğer site ziyaretçileriyle etkileşebilir (bir sohbet odası veya etkileşimli beyaz tahta gibi). Sunucudan gelen sonuçlar, etkileşime bağlı olarak sıkça SWF dosyasında görünür. Bu örnekler, kullanıcıyı ve çeşitli türlerde sunucu etkileşimini içeren uygulamalardır. Ziyaretçi bilgisi veya veri kullanmayan bir web sitesi bir uygulama değildir (örneğin, bir çizgi film animasyonu veya statik bilgilendirici site). Animate uygulamaları; kullanıcı, bir web uygulaması ve bir sunucu arasındaki bir etkileşimli süreci içerir. Temel süreç şöyledir:

  1. Bir kullanıcı bir SWF dosyasına bilgi girer.

  2. Bilgi verilere dönüştürülür.

  3. Veriler biçimlendirilir ve bir web sunucusuna gönderilir.

  4. Veriler web sunucusu tarafından toplanır ve bir uygulama sunucusuna gönderilir (örneğin, ColdFusion, PHP veya ASP).

  5. Veriler işlenir ve web sunucusuna geri gönderilir.

  6. Web sunucusu sonuçları SWF dosyasına gönderir.

  7. SWF dosyası biçimlendirilmiş verileri alır.

  8. ActionScript'iniz, uygulamanın kullanabilmesi için verileri işler.

Bir uygulama oluşturduğunuzda, veri aktarımı için bir protokol seçmelisiniz. Protokol, veri gönderildiğinde veya alındığında, verinin hangi biçimde aktarıldığı ve bir sunucunun tepkisini nasıl işleyeceği konusunda uygulamayı uyarır. Veriler SWF dosyasında alındıktan sonra, işlenmeli ve biçimlendirilmelidir. Bir protokol kullanırsanız, verinin beklenmedik bir biçimde olması konusunda endişe etmenize gerek yoktur. Ad değer çiftleri kullanarak veri aktardığınızda, verilerin nasıl biçimlendirildiğini denetleyebilirsiniz. XML biçimindeki verileri almamanız için ve SWF dosyasının ne tür veriler bekleyeceğini ve ne tür verilerle çalışacağını bilmesi için verinin doğru olarak biçimlendirildiğini denetleyin.

Veri toplama ve biçimlendirme

Uygulamalar, kullanıcının SWF dosyasıyla etkileşimine bağlıdır. Sık sık, kullanıcının formlara veri girmesine bağlıdır. Animate, Animate uygulamalarında veriler girmeniz ve biçimlendirmeniz için çeşitli yollar sunar. Bu esneklik; animasyonla ve arabirim üzerindeki yaratıcı kontrolle sahip olduğunuz yetenekler ile ActionScript kullanarak gerçekleştirebileceğiniz hata denetimi ve doğrulama sayesinde vardır.

Veri toplamak üzere formlar oluşturmak için Animate'i kullanmanın yararları şunları içerir:

  • Artırılmış tasarım kontrolü.

  • Azaltılmış veya sıfıra indirilmiş sayfa yenileme gereksinimi.

  • Genel varlıkların tekrar kullanımı.

    İpucu: Kullanıcıdan topladığınız bilgiyi kaydetmek için onu kullanıcının bilgisayarı üzerindeki bir paylaşılan nesne içinde kaydedin. Paylaşılan nesneler, çerez kullanımına benzer olarak bir kullanıcının bilgisayarında veri saklamanızı sağlar. Paylaşılan nesneler hakkında daha fazla bilgi için bkz. sharedObject sınıfı, ActionScript 2.0 Dil Başvurusu veya ActionScript 3.0 Dil ve Bileşenler Başvurusu.

Veri gönderme ve işleme

Genellikle bilgiyi sunucuya göndermeden önce, sunucunun anlayacağı bir şekilde biçimlendirilmiş olması için onu işlemelisiniz. Sunucu verileri aldığında, veriler çeşitli yollarla işlenip SWF dosyasına onun kabul edebileceği bir biçimde (ad değer çiftlerinden, karmaşık nesnelere kadar bir aralıkta) geri gönderilebilir.

Not:

Uygulamanızın çıktısının MIME türü application/x-www-urlform-encoded olarak ayarlanmış olmalıdır. Bu MIME türü eksikse, sonuç genellikle Animate'e ulaştığında kullanılamaz olur.

Aşağıdaki tablo, Animate kullanarak bir sunucuya veri göndermek ve veri almak için çeşitli seçenekleri gösterir:

Veri gönderme

Açıklama

LoadVars.send ve LoadVars.sendAndLoad

Sunucu tarafı bir komut dosyasının işlemesi için ad değer çiftleri gönderir. LoadVars.send uzak bir komut dosyasına değişkenleri gönderir ve gelebilecek yanıtları yoksayar. LoadVar.sendAndLoad bir sunucuya ad değer çiftleri gönderir ve yanıtı bir hedef LoadVars nesnesine yükler veya ayrıştırır.

XML.send ve XML.sendAndLoad

LoadVars nesnesine benzer ancak XML.send ve XML.sendAndLoad, ad değer çiftleri yerine XML paketleri gönderir.

getURL

getURL() işlevini veya MovieClip.getURL yöntemini kullanarak, Animate'ten bir kareye veya açılır pencereye değişkenler gönderebilirsiniz.

Remoting

Animate ve ColdFusion, ASP.NET, Java ve daha fazlası arasında kolayca karmaşık bilgi alışverişi yapmanızı sağlar. Animate Remoting'i web servislerinden yararlanmak için de kullanabilirsiniz.

Web servisleri

Adobe Animate, uzak web servislerine bağlanmanızı, veri gönderip almanızı ve sonuçları bileşenlere bağlamanızı sağlayan WebServiceConnector bileşenini içerir. Bu, Animate geliştiricilerinin tek bir satır ActionScript yazmak zorunda kalmadan, hızla Zengin İnternet Uygulamaları oluşturmalarını sağlar.

Web servislerini, karmaşık ActionScript kodu yazmayı gerektirebilen WebServiceClasses'ı kullanarak da kullanabilirsiniz.

Veri yüklemesi ve doğrulaması ekleme

Aldığınız her bilgiyi, o veriyi bir sunucuya göndermeden önce doğrulayın. Bu, uzak sunucu kullanıcılar gerekli alanları doldurmadıklarında olduğu kadar çok istek işlemediğinden, sunucu üzerindeki yükü azaltır. Hiçbir uygulamada asla sadece istemci tarafı doğrulamaya güvenmeyin; sunucu tarafı doğrulama gerçekleşmelidir.

Basit bir kayıt veya oturum açma formu oluştursanız bile, kullanıcının adını ve şifresini girdiğini denetleyin. Bu doğrulamayı, uzak sunucu tarafı komut dosyasına isteği gönderip bir sonuç için beklemeden önce gerçekleştirin. Sadece sunucu tarafı doğrulamaya güvenmeyin. Bir kullanıcı sadece kullanıcı adı girerse, sunucu tarafı komut dosyası isteği almalı, gönderilen veriyi doğrulamalı ve Animate uygulamasına, hem kullanıcı adı hem de şifre gerektirdiğini belirten bir hata mesajı döndürmelidir. Aynı şekilde, doğrulama sadece istemci tarafında gerçekleşirse (SWF dosyasının içerisinde), bir kullanıcı SWF dosyasının içine girip, doğrulamayı atlayabilir ve kötü veriyi yollamak amacıyla veriyi sunucunuza gönderebilir.

İstemci tarafı doğrulama, bir form alanının en azından bir karakter uzunluğunda olduğundan veya kullanıcının bir dize değil de bir sayısal değer girdiğinden emin olmak kadar basit olabilir. Örneğin, bir e-posta adresini doğrulamak için Animate'teki metin alanının boş olmadığı ve en azından (@) işaretini ve nokta (.) karakterini içerdiğini denetleyin. Sunucu tarafı doğrulama için daha karmaşık doğrulama ekleyin ve e-posta adresinin geçerli bir etki alanına ait olduğunu denetleyin.

Sunucudan SWF dosyasına yüklenen verileri işlemek için ActionScript yazmalısınız. Bir SWF dosyasına veri yüklemeyi bitirdikten sonra, verilere o konumdan erişilebilir. Verilerin tamamen yüklenip yüklenmediğini denetlemek için ActionScript'i kullanın. Verinin belgeye yüklendiğini bildirmek için geri çağırma işlevleri veya yöntemlerini kullanabilirsiniz.

Veri yüklediğinizde, veri çeşitli yollarla biçimlendirilebilir:

  • XML yükleyebilirsiniz, bu durumda veriyi ayrıştırıp kullanmak için XML sınıfı yöntemlerini ve özelliklerini kullanırsınız. Ad değer çiftleri kullanırsanız, çiftler değişkenlere dönüşür ve onları değişkenler olarak işleyebilirsiniz.

  • Bir web servisinden veya Animate Remoting'den veri alabilirsiniz.

Her iki durumda da; uygun şekilde ayrıştırıp bağlamanız gereken diziler, nesneler veya kayıt kümeleri gibi karmaşık veri yapıları alabilirsiniz.

Hata işlemeyi ve hata ayıklamayı kullanma

Uygulamanız, belirli hataları önceden görüp onları gereğince işleyecek kadar sağlam olmalıdır.

ActionScript 2.0 içinde hata işleme gerçekleştirmenin en iyi yollarından biri, özel hatalar atıp yakalamanızı sağlayan try-catch-finally bloklarını kullanmaktır. Özel hata sınıfları oluşturarak, hata işleme kodunu yeniden yazmak zorunda kalmadan, kodu uygulamanızın genelinde kullanabilirsiniz. Özel hatalar atma hakkında daha fazla bilgi için bkz. Error sınıfı, ActionScript 2.0 Dil Başvurusu. try-catch-finally hakkında daha fazla bilgi için bkz. try..catch..finally, ActionScript 2.0 Dil Başvurusu.

ActionScript 3.0'da, hataları yakalamak için flash.errors sınıfını kullanın.

Daha fazla bilgi için bkz. "Bir uygulamada eşzamanlı hataları işleme", ActionScript 3.0'ı Programlama.

Dosyaları organize etme ve kodu depolama

Dosyaları organize etmeye ve kodu depolamaya başlamadan önce şu talimatları göz önünde bulundurun:

  • SWF dosyasını birçok SWF dosyasına bölüyor musunuz, ve öyleyse bunlar nasıl etkileşmelidir?

  • SWF dosyaları arasında hangi varlıkları paylaşabilirsiniz?

  • Hangi dosyaları dinamik olarak yüklüyorsunuz?

  • ActionScript'i nasıl ve nerede depoluyorsunuz?

    Bir uygulama geliştirdiğinizde, sunucu tarafı kodunu ve dosyalarını bir ActionScript paketinde olana benzer, mantıklı bir dizin yapısında saklayın. Kodunuzu düzenli tutmak ve kodun üzerine yazılması riskini azaltmak için kodunuzu bu yolla düzenleyin.

    Daha büyük uygulamalar için istemci tarafı iletişimi ve servislerini sınıflar içerisinde kozalayın. Sınıfları kullandığınızda, şu yollarla yararlanabilirsiniz:

  • Kodu birden fazla SWF dosyasında yeniden kullanabilirsiniz.

  • Kodu merkezi bir yerde düzenleyebilir ve tüm SWF dosyalarını, onları yeniden yayınlayarak güncelleyebilirsiniz.

  • Farklı kullanıcı arabirimi öğelerini ve benzer işlevleri gerçekleştiren başka varlıkları işleyebilen tek bir API oluşturabilirsiniz.

MVC tasarım modelini kullanma

MVC tasarım modeli uygulamadaki bilgiyi, çıktıyı ve veri işlemesini ayırmak için kullanılır. Uygulama üç öğeye ayrılmıştır: model, görünüm ve denetleyici; her öğe sürecin farklı bir idare eder.

Model

Uygulamanın verilerini ve kurallarını birleştirir. Uygulama işlemesinin çoğu tasarım modelinin bu parçasında meydana gelir. Bu model ayrıca bileşenleri (CFC'ler, EJB'ler ve web servisleri gibi) ve veritabanını içerir. Döndürülen veriler, uygulamanın arabirimi (veya ön ucu) için sürecin bu parçasında biçimlendirilmez. Döndürülen veriler başka arabirimler (veya görünümler) için kullanılabilir.

Görünüm

Uygulamanın ön ucunu (kullanıcının etkileştiği arabirimi) idare eder ve modelin içeriklerinin görüntüsünü oluşturur. Arabirim, modelin verilerinin nasıl sunulduğunu belirtir, kullanıcının kullanması için görünümü gösterir ve kullanıcının, uygulamanın verilerine erişmesini veya verilerini işlemesini sağlar. Model değişirse, görünüm bu değişiklikleri yansıtmak için verileri ya iterek ya da çekerek (veri göndererek veya isteyerek) güncellenir. Karışık bir web uygulaması oluşturursanız (örneğin, sayfadaki diğer uygulamalarla etkileşen Animate içeren bir uygulama), tasarım modelinde görünümün parçası olarak birden çok arabirimi düşünün. MVC tasarım modeli birçok görünümü idare etmeyi destekler.

Denetleyici

Modelin ve görünümün veriyi işlemek ve görüntülemek için gereksinimlerini idare eder ve genellikle bir sürü kod içerir. Kullanıcının arabirimden (veya görünümden) yaptığı isteklere bağlı olarak, modelin herhangi bir parçasını çağırır ve uygulamaya özgü kod içerir. Bu kod uygulamaya özgü olduğundan, genellikle yeniden kullanılabilir değildir. Ancak tasarım modelindeki diğer bileşenler yeniden kullanılabilir. Denetçi veri işlemez veya üretmez; ancak kullanıcının isteğini alır, model veya görünüm bileşenlerinin hangi parçasını çağırması gerektiğine karar verir ve verilerin nereye gönderileceğiyle döndürülen verilere hangi biçimlendirmenin uygulanacağını belirler. Denetçi, görünümlerin, model verisinin görüntülemeleri gereken parçalarına erişimlerinin olmasını sağlar. Denetçi genellikle modeli ve görünümü içeren değişiklikleri iletir ve bunlara yanıt verir.

Modelin her parçası, genel süreçte kendine yeten bir bileşen olarak oluşturulur. Modelin bir parçasını değiştirirseniz (örneğin, arabirime yeni bir biçim verebilirsiniz), sürecin diğer parçaları genellikle değişiklik gerektirmez, bu da sorunları azaltır. Tasarım modeliniz düzgün oluşturulmuşsa, modele veya denetçiye yeni biçim vermeden görünümü değiştirebilirsiniz. Uygulamanız MVC'yi kullanmıyorsa, herhangi bir yerde değişiklik yapmak tüm kodunuz boyunca bir dalgalanma etkisine sebep olabilir, bu da belirli bir tasarım modeli kullansaydınız gerekecek olandan daha çok değişiklik gerektirir.

MVC modelini kullanmak için önemli bir neden, verileri ve mantığı kullanıcı arabiriminden ayırmaktır. Sürecin bu parçalarını ayırarak, aynı modeli ve biçimlendirilmemiş verileri kullanan birçok farklı grafiksel arabirime sahip olabilirsiniz. Bu da, uygulamanızı farklı Animate arabirimleriyle (örneğin web için bir tane, Pocket PC için bir tane, cep telefonları için bir sürüm ve belki de Animate kullanmayan bir HTML sürümü) birlikte kullanabileceğiniz anlamına gelir. Verileri uygulamanın geri kalanından ayırmak, birden fazla istemci arabirimini geliştirmek, test etmek ve hatta güncellemek için geçen süreyi büyük ölçüde azaltabilir. Benzer olarak, kullanacak varolan bir modeliniz varsa, aynı uygulamaya yeni ön uçlar eklemek daha kolay olur.

MVC'yi, sadece bir e-ticaret web sitesi veya e-öğrenme uygulaması gibi geniş veya karmaşık bir uygulama oluştururken kullanın. Mimariyi kullanmak, planlamayı ve Animate ile bu tasarım modelinin nasıl çalıştığını anlamayı gerektirir. Farklı parçaların birbiriyle nasıl etkileştiğini dikkatlice düşünün, bu genellikle test etmeyi ve hata ayıklamayı içerir. MVC'yi kullandığınızda, test etme ve hata ayıklama, tipik Animate uygulamalarından daha kapsamlı ve zordur. İlave karmaşıklığa ihtiyacınızın olduğu bir uygulama oluşturuyorsanız, çalışmanızı organize etmek için MVC'yi kullanmayı düşünün.

Güvenli uygulamalar oluşturma

Kullanıcıların oturum açıp makale okudukları küçük bir portal sitesi de oluştursanız, geniş bir e-ticaret mağazası da oluştursanız, sahtekar kullanıcılar uygulamanızın içine girmeyi deneyebilir. Bu nedenle, uygulamanızı güvenceye almak için aşağıdaki adımları göz önünde bulundurun.

  • Güvenceye alınması gereken veriler için verileri HTTPS'ye gönderin. İşlenmesi için bir uzak sunucuya göndermeden önce, değerleri Animate'te şifreleyin.

    Not: Kullanıcıların görmesini istemediğiniz bilgiyi veya kodu asla bir SWF dosyasında saklamayın. Üçüncü taraf yazılımı kullanarak, SWF dosyalarını parçalarına ayırmak ve içeriklerini görüntülemek kolaydır.

  • Yetkisiz etki alanlarının varlıklarınıza erişmesini engelleyen bir etki alanları arası politikası ekleyin.

 

Bu çalışma Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License kapsamında lisanslanmıştır  Creative Commons şartları, Twitter™ ve Facebook sitelerinde paylaşılanları kapsamaz.

Yasal Uyarılar   |   Çevrimiçi Gizlilik İlkesi