ios'ta oyun nasıl yapılır. iOS ve macOS için nasıl uygulama yapılacağını öğrenmek. Kaliteli bir fikir ve doğru araçlar

  • 12.04.2019

Pekala, bize iPhone'umuz için ilk programımızı yazmanın zamanı geldi. XCode + iPhone SDK'yı henüz yüklemediyseniz, o zaman sizin için. Ve böylece XCode'umuz var ve yapılandırıldı, başlayalım mı?

İlk önce, en basit şeyi öğrenelim. Adımızı yazacağımız bir metin alanı ve selamlamada adımızın kaydedileceği bir buton olacak bir program oluşturalım. İlk programımız şöyle görünecek:

İlk ve umarım son projemizi yaratmıyoruz:

Ardından, ne tür bir uygulama oluşturacağımız sorulacak. Panelin solunda, öğesini seçin. iPhone OS -> Uygulama ve orta pencerede proje türünü seçin Görünüm Tabanlı Uygulama... İlk programımızı çağıralım, diyelim İlk Uygulama

Sonuç olarak, önceden oluşturulmuş bir denetleyiciye sahip bir proje oluşturuyoruz (programımızın ilk penceresi)

Ana proje penceresi şöyle görünür:

Xcode bizim için ilk denetleyiciyi yarattı, bunlar FirstAppViewController.h ve FirstAppViewController.m adlı iki dosya.

FirstAppViewController.h dosyası bir başlık görevi görür (bu nedenle kelime başlığından .h dosya uzantısıdır) İçinde FirstAppViewController.m ana dosyasında kullanacağımız değişkenleri ve yöntemleri açıklayacağız.

Ve böylece FirstAppViewController.h dosyasını açın ve iki işaretçi oluşturun:

IBOutlet UILabel * kullanıcı adı;

İlk değişken kullanıcı adı, ismimizi yazacağımız bir metin etiketidir. nikField ismimizi okuyacağımız bir metin alanıdır.

Bunu bloğa yazmanız gerekiyor @interface firstAppViewController: UIViewController ()

Ayrıca kendimizi tanıtmak için butona tıklandığında çağıracağımız bir method oluşturacağız. SetNik yöntemini çağıralım:

- (IBAction) setNik;

Sonuç olarak, FirstAppViewController.h dosyamız şöyle görünmelidir:

#içe aktarmak @interface firstAppViewController: UIViewController ( IBOutlet UILabel * kullanıcı adı; IBOutlet UITextField * nikField;) - (IBAction) setNik; @son

Şimdi FirstAppViewController.m dosyasına gidelim

Buraya setNik metodumuzu ekleyelim. satırdan sonra yazman lazım @implementation firstAppViewController

- (IBAction) setNik ( kullanıcıadı.text = nikField.text; }

Burada, bu yöntem yürütüldüğünde, nikField alanındaki metnin kullanıcı adı metin etiketine yazılacağını belirtiyoruz.

Ayrıca bu işaretçileri kullandıktan sonra hafızayı boşaltmamız gerekiyor. Bu, adı verilen bir yöntemle yapılır. anlaşma

- (geçersiz) anlaşma (;;;)

Kullandığımız tüm işaretçileri bu biçimde ekliyoruz:;

Şimdi FirstAppViewController.xib arayüz dosyasını açın Editörde çalışır Arayüzler inşaatçı.


Bileşen kitaplığından, ihtiyacımız olan bileşenleri programımızın penceresine sürükleyin ve uygun şekilde düzenleyin. Ardından, küçük pencerede Dosya Sahibi'ni seçin ve bizi Bağlantılar denetçisi menüsüne götüren Command + 2'ye basın. Orada daha önce kaydetmiş olduğumuz pointerlarımızın bir listesini ve sağlarında boş kupaları görüyoruz. NikField işaretçisinin yanındaki boş bir daireye tıklıyoruz ve bırakmadan sürükleyerek Metin alanı... Fare imlecini üzerine getirdiğimizde bir dikdörtgen ile çevrelenir ve serbest bırakılır. Böylece bu alanı nikField işaretçisine bağladık. Şimdi aynısını username pointer ile yapalım ve nickimizi görmek istediğimiz metne sürükleyelim (benim resmimde bu % username% yazısıdır). Aşağıda setNik yöntemimizi görüyoruz ve butonumuzla ilişkilendiriyoruz. Ancak düğmeye getirip bıraktığınızda, İçeri Rötuş'u seçen bir bağlam menüsü açılır. Bu, butona basıp bıraktığımızda bu yöntemin devreye gireceği anlamına gelir. İhtiyacımız olan bu :)

Peki, kaydedin, Xcode'a geri dönün ve Oluştur ve Çalıştır'a tıklayın. Uraaa, ilk programımız başladı :) Metin alanına tıklayın, klavye çıkıyor, adını yazın. Ama programımız hala küçük bir dokunuş eksik. Bu, ismimizi girmeyi bitirdiğimizde Bitti butonuna basarak klavyeyi kaldırmak içindir.

Bunu yapmak için arayüz tasarımcısını tekrar açacağız, düğmemize tıklayın. Command + 1 tuşlarına basın ve orada Metin Giriş Özellikleri bloğunu bulun. Birkaç açılır listeye sahiptir, ancak biz yalnızca en alttakiyle ilgileniyoruz: Dönüş Anahtarı. Listeden Bitti'yi seçin ve bloğun alt kısmında Dönüş Anahtarını Otomatik Etkinleştir'in yanına bir onay işareti koyun. Ardından Command + 2 Connections Inspector'a gidiyoruz ve oradaki kelimeyi görüyoruz. temsilci... Yanındaki kupalara tıklayın ve Dosyanın Sahibi bloğuna sürükleyin

Şimdi FirstAppViewController.m dosyamıza dönüyoruz setNik yöntemimizden sonra aşağıdaki gibi bir kod daha ekleyin:

- (BOOL) textFieldShouldReturn: (UITextField *) theTextField ( ; EVET'e dönüş; )

Kaydedin ve çalıştırmayı deneyin (Command + R kombinasyonunu kullanabilirsiniz) Metin alanına ismimizi yazmayı deneyin. Yazarken, hangisinin klavyeyi kapatacağına tıklandığında Bitti düğmesi görünür. Şimdi butona tıklıyoruz ve işte karşılıyor bizi program :)

Ne kadar önemsememek gibi görünüyor, böyle bir önemsememeyi yazmayı düşünün. Ve ben, yıllar önce Delphi'yi öğrettiğimde, böyle bir örnek öğrenerek, bir düğmeye basarak ekranda bir şeyler yazıldığını, zaten farklı oyuncaklar yapıyordum. İlk tarayıcı oyunlarından biri olan Fight Club'ı hatırlıyor musunuz? Ben de eğlence olsun diye kendime benzer bir şey yaptım ve her şey az önce sizinle yaptığımızla tamamen aynı prensibe dayanıyordu. Öyleyse oyna, deney yap!

İşte proje arşivine başka bir bağlantı İndirebilir, açabilir ve birinin başarılı olup olmadığını görebilirsiniz. Peki, herhangi bir sorunuz varsa, yorumlara yazın.

Bu benim bir uygulama oluşturma konusundaki ikinci deneyimim. İlkinden ayrıntılı olarak bahsettim - orada yatırımları çekmek, geliştiricileri seçmek vb. hakkındaydı. Ne yazık ki, ilk gözleme topaklı çıktı.

Geliştiricilerin ellerini bükmelerine ve cehaletten yararlanmalarına izin veren programlama becerilerinin eksikliği beni büyük ölçüde hayal kırıklığına uğrattı. Bu nedenle, uygulamalar oluşturmak ve programlayamamak, geliştiricilerin bildiği ve sıklıkla kullandığı çok ciddi bir bağımlılığa girmek anlamına geldiğinden, kodlama konusunda kendimde ustalaşmam gerektiğine karar verdim.

Eğitim

V genel çözüm kabul edildi ve Ocak 2016'da çalışmaya başladım. Uzmanlık olarak uygulamalı bir bilgisayar bilimcisiyim, ama aslında Pascal ile çalışmanın en temel becerileri dışında, üniversiteden hiçbir şey öğrenmedim ve durum beş ya da altı yıl önceydi. Ayrıca, basit siteler oluştururken HTML ve CSS ile biraz deneyimim oldu, ancak bunlar uygulama oluşturmaya pek yardımcı olmadı. Bu yüzden sıfırdan başladım. Eski ve neredeyse tamamen unutulmuş Pascal'dan. Editörü indirdim” Ücretsiz Pascal»Http://freepascal.ru/ basit toplama ve çıkarma programlarıyla başlayan bir ders kitabı buldu. Toplamda, hafızayı tazelemek günde iki ila üç saat olmak üzere yaklaşık iki hafta ders aldı.

Pascal'ın derinlemesine incelenmesi daha fazla pratik gerektiriyordu, bunun için Abrahamyan'ın 1000 problemli Pascal problem kitabını buldum (PDF).

Eğitimin ilk aşamasının bitmesini beklemeden bir an önce uygulamaları yazmaya başlamak istediğim için Pascal'daki problemlerin çözümüne paralel olarak "C Programlama Dili" kitabına göre C çalışmaya başladım. Brian Kernighan ve Dennis Ritchie (PDF). Burada ayrıca, bu kitabın Rusça olmasına rağmen, orijinal dilde çalıştığımı, çünkü genel olarak İngilizce'yi çok iyi bilmediğimi söyleyeceğim ve bu, bence, ilgilenen herkes için oldukça önemli. programlama. İngilizce'de belirli bir programlama dilinde öğretim materyalleri ve sadece materyaller, kural olarak, Rusça'dan çok daha fazladır. AppStore ile çalışmak, uygulamayı indirmek, kullanım şartları vb. Bunların hepsi de ağırlıklı olarak İngilizce'dir. Yani İngilizce okuma seviyesinde diyebiliriz. teknik literatür bir programcı için olmazsa olmaz bir beceridir.

C programlama için ilk projeden beri bir Mac'im var. Xcode'da C için problemleri çözdüm. aradaki farkı daha iyi anlamak için Pascal sözdizimi ve C, Abrahamyan'ın aynı kitabından problemleri çözmeye başladım, ancak zaten C'de. İki hafta günlük 4-5 saatlik derslerden sonra, Pascal'da yaklaşık 300, C'de bunun yarısı kadar problem çözebildim ve ayrıca C'de yaklaşık 100 sayfalık bir kitabın üzerinden geçtim. Aynı zamanda İngilizce hizmet veren Tree House'u öğrenme sürecine bağlamaya karar verdim.

Bu, HTML ve CSS uzmanlığımda bana çok yardımcı olan bir öğrenme hizmetidir. Abonelik ücreti aylık 25 dolardan başlıyor. Ama bana gelince, bu haklı. Hizmet, Java, C#, Python, Swift ve diğerleri dahil olmak üzere çeşitli programlama dilleri hakkında eğitim materyalleri sağlar. Eğitim, videodan videoya, çeşitli pratik görevlerle birlikte aşamalar halinde gerçekleşir.

Tüm videolar çok görsel, ilginç, sürekli güncelleniyor ve her şeyi iyice çiğniyor anahtar noktaları Nesneye Yönelik Programlamanın özü veya Xcode'un nasıl çalıştığı. Doğal olarak C eğitimlerini ve Objective-C ile IOS uygulamalarının nasıl oluşturulacağını seçtim.

Böylece eğitimim aynı anda tüm cephelerde ilerlemeye çalışmak gibiydi. Programlamanın temellerini düşündüğüm kadar sağlam bir şekilde atmak için Pascal'da problem çözme alıştırmaları yaptım, Objective-C'yi daha iyi anlamak için C çalıştım ve en kısa sürede IOS'ta yazmaya başlamak için Objective-C'yi öğrendim.

Böylece bir ay daha günlük dersler geçti, günde ortalama 4-5 saat. Bir yandan, aşamalar halinde hareket etmek, örneğin önce Pascal ile, sonra C ile ilgilenmek ve ardından Amaç-C'ye geçmek muhtemelen daha mantıklı olurdu, ama aslında, sonuçta, izin verilen her şeyi kapsama girişimiydi. çok zaman kazanın, çünkü Pascal ve C'deki sorunları çözmeye değil, doğrudan Tree House eğitim programından uygulamalar oluşturmaya daha fazla dikkat etmeye başladım. Bu çok daha ilginçti ve aslında, Abrahamyan'ın problemler kitabından gelen görevlerin yanı sıra Kernighan ve Ritchie'nin C Üzerine Kitabı'ndaki materyallerin temelleri anlamak için iyi olduğunu, ancak genel olarak gerçeklerden oldukça uzak olduklarını gösterdi. uygulamaları oluşturma süreci. Sonuç olarak, eğitimimin üçüncü ayının sonunda Pascal ve C'yi tamamen bıraktım. Bunun yerine odaklandım pratik malzemeler Objeсtive-C'de Tree House ve Xcode'da uygulamalar oluşturma.

Oyun oluşturma. Fikir

Öğreticiden birkaç basit uygulama oluşturduktan sonra, sonunda daha ilginç bir şey yapmaya hazır olduğuma karar verdim. Aklıma potansiyel olarak ilginç bir şey geldiğinde periyodik olarak doldurduğum fikir listemi açtıktan sonra, "Yolsuzlukla Mücadele" konusunda bir oyun yaratma fikirlerine gözlerimi kapattım. Bu fikrin anlamı, yozlaşmış yetkililerin düşman gibi davranması, etkisiz hale getirilmesi ve ardından etkisiz hale getirilmesidir. oyun Dünyası daha iyi olmak. Yolsuzluğun kötü olduğu ve ne kadar az olursa çevrenin o kadar iyi olduğu gibi bir alt metin de var. Konunun Rusya ile ilgili olduğunu ve benzer bir fikre sahip uygulamalar bulamadığımı göz önünde bulundurarak, ona karar verdim ve en iyi nasıl uygulanacağını düşünmeye başladım.

Henüz nasıl oyun oluşturulacağına dair hiçbir fikrim olmasa da birkaç öğretici videonun bu sorunu çözeceğini düşündüm. Öncelikle oyunun genel olarak nasıl görüneceğine karar vermek gerekiyordu. Küçük bir beyin fırtınasından sonra, en uygun varyantın, her seviyedeki kahramanın soldan sağa koştuğu ve onunla tanışmak için çeşitli rakiplerin ve engellerin tükendiği 2d bir oyun olacağına karar verildi. Bu seçenek bana oyun fikri için kabul edilebilir görünüyordu ve uygulanması çok zor değildi.

Konsept onaylandıktan ve akıcı bir şekilde tanımlandıktan sonra oyunların nasıl yaratıldığını anlamak gerekiyordu. Videoyu araştırırken, Flappy Bird gibi bir oyunun nasıl oluşturulacağını anlattıklarına hemen rastladım ( Youtube) . Orada ortaya çıktı önemli soru... Apple'ın 2014'te piyasaya sürdüğü sır değil yeni dil programlama - Objective-C'den birçok iyi şeyi emen ve mantıksal devamı haline gelen Swift.

Karşıma çıkan video Flappy Bird'ün Swift üzerinde oluşturulmasını anlatıyordu ama aynısını Objective-C için basit ve anlaşılır bulamadım. Tereddüt etmeden, geleceğin Swift'de olduğuna ve özellikle aynı Ağaç Ev'de çalışmak için mükemmel materyallere sahip olduğu için buna ayak uydurmaya karar verdim. Sonunda Swift'i öğrenmek, sözdizimini ve Objective-C'den temel farkları anlamak için ara verdim. Günde ortalama 8 saatlik bir ders haftası daha geçti. Temel Swift eğitimlerini gözden geçirdim ve sonunda Flappy Bird videosunda ustalaşmaya hazır olduğuma karar verdim. Birkaç gün içinde bunu oluşturabildim:

Sprite Kit motoruyla çalışmaya ilişkin temel bir anlayışla nihayet uygulamam üzerinde çalışmaya devam edebildim.

konsept

Başlangıçta sadece en basit şeyi yapmayı planladım - 3 seviyeli kayan bir arka plan, animasyonlu bir kahraman, bir silah, zıplama yeteneği ve ateş etme yeteneği. Bu gerekliydi çünkü çoğu şeyden ayrı olarak genel görüşler Sprite Kit ile hiç deneyimim yoktu, çok basit bir şeyle başlamam gerekiyordu. Kahramanın tıklamaları ve atlamaları nasıl kaydedilir, arka plan nasıl kaydırılır, atış anında nasıl mermi oluşturulur, vb. Bu sorulardan onlarca, hatta yüzlerce vardı. Ve herkes için çözüm her zaman aynı olmuştur - Google. Neyse ki, İnternette çok sayıda farklı materyal var (maalesef, çoğunlukla ingilizce dili) aklıma gelen belirli soruların nasıl çözüleceğine dair örnekler sağlayan Swift'de oyunlar yaratma hakkında. Yığın Taşması Soru-Cevap hizmeti de harika ve paha biçilmez bir yardımdır.

Sanırım kafamdaki tüm soruların %70'ini onun yardımıyla çözebildim. Ayrıca Apple belgelerine de döndüm, ancak nadiren. Belki vakaların %10'unda maksimum ve daha sonra başka seçenek olmadığında.

Neredeyse tüm zamanımı programlamaya adadığım yoğun bir haftadan sonra - günde 8-10 saat boyunca şunu oluşturabildim:

Bacaklarını sallayabilir (animasyonun kendisi Photoshop'ta çizilmiştir), zıplayabilir ve karakteristik bir sesle bir av tüfeğinden ateş edebilir, aynı zamanda arka planda arka plan kayardı. Bu başlangıçtı)

Prototip

Bu taslak, gelecekteki oyunumun mekaniği hakkında çok şey anlamamı sağladı ve konseptin doğruluğundan emin olduktan sonra, bir sonraki adım olarak normal bir tasarımın yanı sıra ateş edebilen düşmanları eklemeye karar verdim. Başlangıçta, tüm tasarımı (arka plan, kahramanın ve düşmanların animasyonları, nesneler vb.) Bir freelancerdan sipariş etmeyi planladım, çünkü bu kendim yapamadığım tek şey. Ama sonra Envato Market sitesini hatırladım: http://market.envato.com/, daha önce müzik satın aldığım yer, siteler için şablonlar, sunumlar vb.

Sitede listelenenlere ek olarak, uygulama oluştururken son derece gerekli olan her türlü animasyon, doku, ses ve diğer şeylerden oluşan geniş bir seçim var. Fiyatlar da bence çok uygun. Örneğin, seçtiğim ana karakterin animasyon seti, çeşitli nesneler (madeni para, elmas vb.) şeklindeki bonuslara ek olarak, şutlar, koşular, atlamalar, ölümler gibi 8 animasyon içerir. yakın zamanda.

7 dolara böyle bir set aldım. Tek nokta, onlardan satın alınan malların farklı lisanslara tabi olmasıdır. Örneğin bazıları, sınırsız ücretsiz dağıtım için ürünün yalnızca bir üründe kullanılmasına izin verir, diğerleri, amacı aynı sınırsız ücretsiz dağıtım olan üçüncü taraflara yeniden satışına izin verir, diğerleri, örneğin müzik için, yalnızca bir üründe dağıtıma izin verir. sınırlı sayıda dinleyici vb. Bu lisansların maliyeti farklıdır ve genellikle 4-5 kat farklılık gösterebilir.

Ancak kahramanı ayrı bir ürün olarak satmayacağım için sınırsız ücretsiz dağıtım lisansı benim için yeterliydi.

Genel olarak, bir kahraman, silahlar, düşmanlar ve arka plan için gerekli olan her şeyi satın aldım. Arka planın kendisi olduğu gibi satılmadı.

Bu, birkaç düzine farklı nesneden oluşturulan Photoshop'taki çalışmamın sonucudur - bir çit, asfalt, çukurlar, çöp yığınları vb. Genel olarak, onu oluşturmak birkaç gün sürdü. Gelecekte, Envato'ya 10 kez baktım, her seferinde ek bir şey satın aldım.

Ardından, bir yandan olağan, ancak aynı zamanda çok ilginç iş... Adım adım, bunları veya ortaya çıkan sorunları çözdüm, yeni işlevler ekledim, görünüşte yazılı kod parçalarını yeniden yazdım çünkü bunları azaltma, optimize etme veya başka şekilde iyileştirme, hataları düzeltme vb. için bir seçenek buldum. Tabii şimdi böyle bir uygulama yazıyor olsaydım her şeyi iki kat daha hızlı yapardım ama o zamanlar kesinlikle her şey benim için yeniydi ve daha fazlasını bulmak için çok zaman harcamak zorunda kaldım. doğru yollarçözümler. iki ay geçti zor iş ve tasarlanan prototip sonunda gerçekleşti.

5 çeşit silah, ilk yardım çantası, nesneler, düşmanlar ve çok daha fazlası ile hazır bir seviyem vardı. Daha sonra tanıdıklar arasında testler yapmaya ve neyin eksik olduğunu anlamak için beyin fırtınası yapmaya karar verdim. Birçok düzeltme ve ekleme yapıldı. O kadar ki, tahminlerime göre kesinlikle altı ay daha oyun üzerinde çalışırdım. Birkaç gün boyunca her şeyi çözdüm ve nihayetinde gerçekten ihtiyaç duyulan şeylerin bir listesini çıkardım ve geri kalanını sildim ve uzay endüstrisinden bir zamanlar duyduğum yöntemi kullanmaya karar verdim. Sonuç olarak, fırlatmadan önce belirli bir andan itibaren rokette herhangi bir değişiklik ve iyileştirme yapılması yasaktı. Aksi takdirde, sonsuza kadar bu şekilde gelişebilirsiniz.

Oyunun iyileştirilmesi

Ardından, soru düşmanların tasarımıyla ortaya çıktı. Toplamda 6 tipim var - 5 basit düşman ve bir patron + dürüst bir vatandaş. Karakterlerin daha gerçekçi olmasını istediğim için tüm bu spriteların çizilmesini sipariş etmeyi planladım. Freelance.Ru'ya gittim ve her biri için 18 animasyon (8-25 kare) olan 5 karakterin oluşturulması için bir ilan yayınladım. Birçok animasyon vardı, çünkü standart koşular, atışlar, tutuklamalar, duruşlar vb.'ye ek olarak, ağır çekimde veya yavaş çekimde her tür silahtan ölüm animasyonları da vardı. Adını verdiğim güvenilir bir serbest çalışandan en ucuz maliyet, 40 bin ruble ve 1 aylık çalışma bölgesindeydi. Bu bana biraz pahalı geldi, bu yüzden tekrar Envato'ya döndüm. Neyse ki, aynı tasarımcıdan farklı sprite koleksiyonu siteye yüklendi.

Koleksiyonundaki spritelar, bir dizi animasyonla birlikte ortalama 15 dolara mal oluyor. En önemli şey, sprite içeren arşivin Spriter programı için dosyalar içermesidir.

Sprite'ı bu programda açarak ve biraz anlayarak (öğrenmesi çok kolay), farklı storyboard'larla karakterleriniz için kesinlikle herhangi bir animasyonu kendiniz yapabilirsiniz. Genel olarak düşündüm ve Envato'daki tüm karakterleri satın aldım, ardından kendim işledim, gerekli animasyonları ekledim ve uygulamaya yükledim. Dokularla çalışmanın son derece sıkıcı ve monoton olduğunu söylemeliyim. Oluşturulan animasyonu Spriter programından kaldırmam, ardından Photoshop'ta işlemem (genişletme, boyutları ayarlama), ardından sıkıştırmam, yeniden adlandırmam, resimleri 1x, 2x, 3x yapmam gerekiyordu. Tüm animasyonları işlemek yaklaşık bir ayımı aldı. Bu çalışmaya bir asistanı dahil edebildiğim için bütün bir ay monoton ve monoton bir çalışma. Ama öte yandan, tüm süreci anladım, kendime öyle animasyonlar yaptım ki, onları gerektiği kadar tekrar yapmak istedim.

Dokular üzerindeki çalışmalara paralel olarak oyunun aşamalı gelişimine devam ettim. İki aylık bir çalışmadan sonra nihayet tünelin sonundaki ışığı gördüm. Ama ne yazık ki neredeyse iki ay boyunca, diğer şeyler biriktiğinden, ayrıca yaz boyunca ve genel olarak proje durdurulduğundan çalışmayı bırakmak zorunda kaldım. Daha sonra Ekim ayının başlarında işe döndüm. Çok azının kaldığını ummama rağmen, aslında önümde deneyimsizlik nedeniyle şüphelenmediğim sorunlar ortaya çıkmaya başladı.

Öncelikle png dokularımı bunun yardımıyla sıkıştırmış olmama rağmen çevrimiçi servis: http://compresspng.com/ru/, bu, uygulama çalışırken daha az RAM almaya başladıkları gerçeğine yol açmadı. Resmin boyutunun, bunun için gereken RAM boyutuna eşit olmadığını öğrenmemin zamanı geldi.

İkinci olarak, bellek sızıntılarının harika dünyasını, Xcode'un bunları takip etme araçlarını ve güçlü bir referans döngüsünün tüm güzelliklerini keşfettim. Oyunumu enstrümanlar arasında çalıştırdıktan sonra yaklaşık 3 buçuk bin sızıntı buldum.

Üçüncü olarak, oyunum için standart, 180 × 180'de bir karakter için doku çözünürlüğünün aşırı büyük olduğunu ve tüm animasyonları kalitede herhangi bir bozulma olmadan 117 × 117 çözünürlüğe kolayca yeniden yapabileceğimi fark ettim. İlginçtir ki, animasyonları oluştururken kaynakları 360 × 360'ta bırakmadım diye endişelendim. Resmin boyutu 2x olduğundan, sırasıyla 180x180 vardı, benim anlayışımda 3x resmi 360x360 olmalıydı, ancak cehaletten onları yapmadım ve ortaya çıktığı gibi, Tanrı'ya şükür, çünkü sonunda oldular. gerekli değil.

Dördüncüsü, tüm animasyonlar ve nesneler eklendiğinde oyunum gözle görülür şekilde yavaşlamaya başladı. Burada gerekliydi büyük iş animasyonların, seslerin ve diğer şeylerin optimizasyonu ve önceden yüklenmesi hakkında.

Sonuç olarak, oluşturduğum animasyon atlaslarını tamamen yeniden yapmak zorunda kaldım (görünüşe göre, son kez), RAM tüketimini azaltmak için. Tüm görüntüleri sıkıştırın ve kırpın, bunları ortalama %30 oranında azaltın. Kendimizi yalnızca 1x ve 2x ile sınırlayarak 3x resmi gereksiz olarak reddedin. Optimizasyon ve bellek sızıntılarının ortadan kaldırılması vb. üzerinde çok çalışın. Ayrıca, işlemi tamamlamak için çok çalışmak gerekiyordu. Oynanış, çünkü ilk başta her şey hazır görünüyor ve yalnızca son rötuşları eklemeniz gerekiyor, ancak bu rötuşları eklemek çok zaman alıyor. Genel olarak, bu, artık çok yoğun bir çalışma olmamasına rağmen, projeyle tam olarak ilgilenme fırsatı olmadığı için günde ortalama 4-5 saat olmasına rağmen, bir aydan fazla zaman gerektiriyordu. Ve Kasım ayının başında her şey aşağı yukarı hazırdı.

Sonraki indirme Uygulama mağazası... Burada, önceki deneyimler sayesinde, soru yoktu. Gün içerisinde ekran görüntüsü aldığım, basit bir anlatım, aklıma gelen ilk ikon (bu arada, hazır bir ikonunuz olur olmaz, bu servis üzerinden çalıştırmanız daha iyi olur: https://makeappicon .com/, simgenizi oraya yüklersiniz ve size onu herkese geri verir gerekli boyutlar ve izinler) ve anahtar kelimeler (bunları https://sensortower.com/ hizmetini kullanarak seçtim, site size tonlarca kullanışlı bilgi abonelik ucuz olmasa da, sizinki veya başka bir uygulama hakkında).

Ve şimdi uygulama AppStore'da mevcut. Yaşasın, Yaşasın, ama pek değil.

Hatalar, korkunç frenler, eksik resimler, çökmeler vb. Farklı IOS sürümlerine sahip farklı iPhone'larda test ederken beni bekleyen buydu. Oyunun IOS 9'da iyi çalışmasına rağmen, 10'lu yıllarda korkunç frenlerle çalıştığı ve arada sırada sesin her zaman kaybolduğu hemen ortaya çıktı. 10 taşıyan böyle bir hediye beni "memnun" etti ama gidecek hiçbir yer yoktu ve aramaya ve hataları gidermeye devam ettim. ben Yeniden Tüm dokuları uygulamaya yerleştirmek için sistemi tamamen yeniden tasarlamam, tüm sesleri çalmak için sistemi tamamen yeniden tasarlamam ve birçok ek pervazı düzeltmem gerekiyordu. Güncellenmiş XCode ile çalışırken, kodu Swift 2.0'dan Swift 2.3'e dönüştürürken, gerekli olan özellikle sıcak izlenimler bıraktı. Kısacası, her şeyi tamamlamak için bir aydan fazla zaman harcadım ve sadece 13 Aralık'ta aşağı yukarı indirebildim. çalışan sürüm... Her ne kadar bunun son güncelleme olmadığı açık olsa da.

Bu makalede, hakkında hiçbir şey bilmeden iOS için temel bir oyunun nasıl yapılacağını adım adım anlatacağız!

12 adımda bir proje oluşturmaktan bitmiş bir oyunu bir cihazda görüntülemeye giden yolu yürüyecek ve xCode'da oyun yaratmanın temel ilkelerinde ustalaşacaksınız. Ardından, iOS geliştirmeyi öğrenmeye devam edip etmemeye karar verin.

Tüm işlemler 10-15 dakika sürecektir.

İhtiyacımız olacak:

  • Xcode yüklü Mac;
  • iOS cihazı;
  • Çiçek resmi;
  • Çim görüntüsü.

Adım 1. Xcode'da yeni bir proje oluşturun

xCode'u başlatın, menü öğesini seçin Dosya -> Yeni -> Proje.

Adım 2. Proje türünü seçin

Bir sonraki ekranda proje türünü seçin - Oyun.

Adım 3. Projeyle ilgili temel bilgileri belirtin

Projenin adını belirtiyoruz ve diğer ayarları resimle kontrol ediyoruz.

Adım 4. Proje klasörü için bir konum seçin

Açılan Finder penceresinde projeyi depolayacağımız klasörü belirtin. Gerekirse, butonunu kullanabilirsiniz. Klasör oluşturun pencerenin sol alt köşesinde.

Adım 5. Oyunu kurma

Şimdi bir penceremiz var ayrıntılı ayarlar uygulamalar. kutunun işaretini kaldırın Vesika Bölümde Dağıtım Bilgileri Böylece oyun sadece yatay olarak çalışır.

Adım 6. Oyunun standart bir örneğine bakmak

Soldaki simülatör başlat düğmesine tıklayın üst köşe... Simülatörün yüklenmesi için bir süre bekliyoruz. Uzay gemilerinin görünmesini sağlamak için gri alana tıklayın.

Adım 7. Uzay gemilerini çiçeklerle değiştirin

Sağ menüde, öğeyi seçin varlıklar.wcassets, sonra nesneyi aktif hale getiriyoruz uzay gemisi ve çiçekli resmi uzay gemisiyle resmin bulunduğu yere sürükleyin.

Adım 8. Nelerin değiştiğini görün

Öykünücüyü yeniden başlatın. şimdi yerine uzay gemileriçiçekler belirir.

Adım 9. Çiçeğin boyutunu küçültün

Çiçekleri beş kat azaltalım. Sağ menüde dosyayı seçin GameScene.swift ve içindeki kod satırlarını bulun:

Sprite.xScale = 0,5 sprite.yScale = 0,5

Bunları aşağıdakilerle değiştiriyoruz:

Sprite.xScale = 0.1 sprite.yScale = 0.1

Adım 10. Çimleri resim koleksiyonuna ekleyin

git varlıklar.wcassets, artı işaretini bulun (resme bakın), üzerine tıklayın ve menü öğesini seçin Yeni Görüntü Seti... Yeni resim kümesini adlandırıyoruz Arka plan(isim doğru olmalıdır) ve çim resmini Finder'dan içine sürükleyin.

Adım 11. Çimleri koda ekleyin

HelloWorld arka plan başlığını oluşturan kodu kaldırın:

GameScene Sınıfı: SKScene (işlevini geçersiz kıl didMoveToView (görünüm: SKView) (/ * Sahnenizi burada ayarlayın * / let myLabel = SKLabelNode (fontNamed: "Chalkduster") myLabel.text = "Merhaba, Dünya!" MyLabel.fontSize = 45 myLabel. pozisyon = CGPoint (x: CGRectGetMidX (self.frame), y: CGRectGetMidY (self.frame)) self.addChild (myLabel))

Yerine şunu ekliyoruz:

GameScene Sınıfı: SKScene (var background = SKSpriteNode (imageNamed: "Background") geçersiz kılar func didMoveToView (görünüm: SKView) (/ * Sahnenizi burada ayarlayın * / background.position = CGPoint (x: frame.size.width / 2, y) : frame.size.height / 2) addChild (arka plan))

Adım 12. Oyunu cihazda test etme

git Xcode -> tercihler -> Hesaplar ve Apple Kimliğinizi ekleyin:
1. İOS cihazını bilgisayara bağlıyoruz.
2. Cihazı seçin ve başlat düğmesine tıklayın.
3. Güvenlik sorunlarıyla ilgili bir mesaj görünürse, iOS cihazına gidin. Ayarlar -> Ana -> Cihaz yönetimi ve istenen geliştiriciden uygulamaların başlatılmasına izin verin.
4. Spring Board'da uygulama simgesini bulun ve başlatın.Artık cihazın bilgisayarla bağlantısı kesilebilir ve uygulamayı kullanmaya devam edebilirsiniz.

Herhangi bir sorununuz varsa, iOS ve xCode'u güncelleyin.

App Store böyle bir oyunu kabul etmeyecektir ancak cihazlarınızda eğlenebilirsiniz. Biraz özenle, Google ve StackOverflow'u kullanarak bu çerçeveden gerçekten ilginç bir şey yapabilirsiniz.

Programlamayı anlamadan, yarattık basit oyun ve sadece 10 dakika harcadı... Deneyimli öğretmenlerin rehberliğinde bir yıllık yoğun eğitimde neler öğrenebilirsiniz?

iOS geliştirme nereden öğrenilir?


En iyi seçenek, çevrimiçi bir üniversitede iOS geliştirme bölümüne kaydolmaktır. GeekÜniversitesi GeekBrains ve Mail.ru tarafından oluşturuldu. Bütün bir yıl boyunca, haftada birkaç gece, iOS için programlama öğreneceksiniz. Dersler webinar formatında yapılır ve dünyanın herhangi bir ülkesinde eğitim alabilirsiniz.

GeekÜniversite uygulamaları proje odaklı öğrenme... Bir yılda 4 oluşturacaksınız kendi uygulamaları iOS için:

  • Hava durumu uygulaması;
  • Mobil oyun;
  • Bir çevrimiçi mağaza için başvuru;
  • Takım projesi.

Bir yıllık eğitimden sonra, bireysel ve ekip geliştirme konusunda bir yıllık deneyim, bir portföy için gerçek proje örnekleri ve geliştiriciler olarak çalışmak için yeterli bilgi edineceksiniz. Kurstaki her öğrencinin, ilerlemeyi izleyen ve tüm soruları yanıtlayan bir danışmanı vardır.

iOS Geliştirme Departmanında hangi bilgileri edineceksiniz?

Bir yıllık süper yoğun eğitim için öğrenciler büyük miktarda bilgi edinirler:

  • Swift programlama becerileri
  • Amaç C programlama becerileri
  • Mobil oyun geliştirme becerileri
  • Algoritmalar ve veri yapıları hakkında bilgi
  • Anlamak bilgisayar ağları ve işletim sistemleri
  • Takım çalışması
  • Geliştirme metodolojileri: Çevik, Scrum
  • GIT ile çalışabilme
  • OOP ilkeleri hakkında bilgi
  • Mülakatları başarıyla geçme ve müşterilerle iletişim kurma becerileri
  • Mimari tasarım becerileri, tasarım desenlerinin tek ton, adaptör, fabrika, bağımlılık enjeksiyonu kullanımı
  • Yetenekler IOS kullanarak SDK, haritalar, coğrafi konum, push bildirimleri, animasyonlar ve 3d-touch
  • IOS mobil uygulama geliştirme becerileri
  • Temiz kodlama becerileri

Bu, yavaşlamaz ve yoğun eğitime devam etmezseniz, gerçekten harika bir uzmana dönüşebileceğiniz çok güçlü bir teorik temeldir.

Bir Android veya iPhone uygulamasını nasıl oluştururum?- bu tür sorular yalnızca web geliştiricileri tarafından değil, aynı zamanda küçük işletme sitelerinin sıradan sahipleri, blog yazarları tarafından da giderek daha fazla sorulmaktadır.

Bu inceleme, dikkate alınmasını önermektedir hızlı ve yapıcılar için uygun oluşturma Android ve iPhone uygulamaları... Aynı zamanda, kullanıcıdan programlama becerileri veya diğer özel BT bilgileri gerektirmez. Bu tür uygulamaların olmazsa olmazı farklı tür iş genişletmek için harika bir yoldur hedef kitle ve müşterileri çekmek.

Bu nedenle, uygulama geliştirme incelemesinde dikkate alınanların tümü şu slogan altında birleştirilebilir: basit, hızlı ve programlama olmadan!

Bedava web sitenizin içeriğini bir Android uygulamasına dönüştürmenize ve aracılığıyla dağıtmanıza izin veren bir web hizmeti Google Oyun... Ayrıca oluşturulan uygulamalar içlerinde hem satılabilir hem de reklamı yapılabilir.
Sınırsız sayıda oluşturabilirsiniz Android uygulamalarıüç tür içerikten oluşur: site, yalnızca html sayfaları ve Youtube videosu... AppsGeyser, bir Android uygulaması oluşturmak için basit ve sezgisel bir şablon sihirbazı kullanır.

AppsGeyser siteleri: http://www.appsgeyser.com, http://www.appsgeyser.ru

Bedava için çevrimiçi hizmet hızlı oluşturma mobil uygulamalar. TheAppBuilder, bir tasarımcı ve standart şablonlar kullanarak uygulamalar oluşturur - iş, etkinlikler, eğitim, müzik, spor vb. için. Bir uygulamanın oluşturulması ücretsizdir ve 5 USD'dir. her ay oluşturulan uygulamada gereksiz reklamların görüntülenmesini kapatabilirsiniz. TheAppBuilder, Android Uygulaması ve Windows Mobile oluşturmanıza olanak tanır.

TheAppBuilder web sitesi: http://www.theappbuilder.com

Kullanıcıların İnternet üzerinde birkaç tıklama ile kendi mobil uygulamalarını oluşturup yayınlamalarına olanak sağlayan çevrimiçi bir hizmettir. Appsmakerstore platformu, aşağıdakiler tarafından desteklenen mobil uygulamalar oluşturur: HTML5, iTunes, Android Market, Blackberry Marketplace, Windows Marketplace ve Facebook derin teknolojik beceriler olmadan. Hepsi bu 6 farklı platform için 1 uygulama... Appsmakerstore, Rusça ve Ukraynaca dahil 23 dilde sunulmaktadır.

Appsmakerstore'un özelliği, zaten bir seçenek sunmasıdır. hazır şablonlar belirli endüstriler için (örneğin, yasal hizmetler, gece kulüpleri, restoranlar ve kafeler, perakende satış, güzellik salonları vb.)

  • Kendin yap - ayda 9,78 dolar.
  • "Sizin için bir başvuru yapıyoruz" - 249 $
  • "Bayi" - sitede ayrıca öğrenmeniz gereken özel bir fiyat.

Her zaman tüm planlara dahildir:

  • Sınırsız içerik değişikliği ve uygulama güncellemesi.
  • Uygulama içeriğini iTunes ve Google Play'de yeniden yayınlamak zorunda kalmadan güncelleme.
  • Kullanıcılara sınırsız push bildirimi gönderin.
  • Tüm sistem güncellemelerini otomatik olarak alın ve kullanın.
  • Sunucularımızda güvenli barındırma.
Appsmakerstore web sitesi: http://appsmakerstore.com

Küçük işletmeler için ücretli bir çevrimiçi mobil uygulama oluşturucudur (iPad, Android, HTML5). Olasılıklar arasında konum belirleme, mesaj alma ve gönderme, alışveriş sepeti, bildirimler, sosyal ağlarla entegrasyon, menü hakkında bilgi gönderme, bir dizi hizmet, yaklaşan etkinlikler vb. Yer alır. Restoranlar, emlakçılar, spor salonları vb. için şablonlar vardır.

Bu servis bu tür planlarla temsil edilir:

  • Mobil Site - Ayda 29 ABD Doları.
  • "Mobil uygulama" - ayda 59 dolar
  • « Beyaz etiket Ortak »müşterileriniz için uygulamalar oluşturma - sitede ayrıca bulmanız gereken özel bir fiyat.
Biznessapps web sitesi: http://www.biznessapps.com

5. AppGlobus

AppGlobus- ücretli, Ruslardan biri çevrimiçi kurucular mobil uygulamalar, kullanıcıların bağımsız olarak uygulamalarını App Store ve Google Play'de oluşturmasına ve yayınlamasına olanak tanır.

Geliştirme kalitesini önemli ölçüde artıran ve programlama becerileri olmadan bile HTML5, iOS, Android'de mobil uygulamalar oluşturmayı mümkün kılan Ionic Framework'ün yeni tasarımını ve yeteneklerini kullanır.

Açık şu an AppGlobus, Rusça dahil 8 dilde sunulmaktadır.

AppGlobus.com aşağıdaki paketleri sunar:

  • BAŞLANGIÇ - 900 ruble / ay
    • Uygulamalar: HTML5 / Android, yönetici paneli, mağaza, push kısıtlaması yok, kurulum kısıtlaması yok, reklam yok.
  • TEMEL - 1500 ruble / ay
    • Hem Android hem de iOS için uygulamalar, yönetici paneli, mağaza, push kısıtlaması yok, yükleme kısıtlaması yok, reklam yok.
  • STÜDYO - 2000 ruble / ay
    • Uygulamalar: Windows / Android / iOS, yönetici paneli, mağaza, push kısıtlaması yok, kurulum kısıtlaması yok, reklam yok.
  • PRO - 45.000 ruble / bir kerelik
    • Uygulamalar: Windows / Android / iOS, özel geliştirme, App Store ve Google Play'de kendimiz yerleştireceğiz, geri döneceğiz kaynak
AppGlobus web sitesi: http://appglobus.com/

ücretli çevrimiçi hizmet iş veya kişisel kullanım için kendi mobil uygulamanızı oluşturmak için. Özel beceriler gerekmez. Çevrimiçi mağazalar gibi küçük işletmeler için iyi. Uygulamanızı oluşturmak sadece 5 dakika sürer - sadece gerekli modülleri ve tasarımı seçmeniz yeterlidir. İngilizce ve Rusça versiyonları vardır.

My-apps.com aşağıdaki paketleri sunar:

  • Başlangıç ​​- 599 RUB / ay
    • Yalnızca Android uygulamaları, yapıcıya erişim, ücretsiz şablonlar ve uygulama simgeleri, 48 saatte bir içerik güncellemeleri, mağazalardaki uygulama kaynak güncellemeleri 2 ayda en fazla 1 kez.
  • Işık - 990 ruble / ay
    • hem iOS uygulamaları, oluşturucuya erişim, ücretsiz uygulama şablonları ve simgeleri, temel uygulama ekran görüntüleri, Push bildirimleri- Ayda 1, 24 saatte bir içerik güncellemesi, mağazalarda 2 ayda bir uygulama kaynağı güncellemesi.
  • Standart - 2490 ruble. / ay
    • hem Android hem de iOS için uygulamalar, tasarımcıya erişim, ücretsiz şablonlar ve uygulama simgeleri, temel uygulama ekran görüntüleri, Skype desteği, Push bildirimleri - ayda 10, içerik güncellemeleri 12 saatte bir, mağazalarda ayda bir uygulama kaynağı güncellemeleri.
  • İşletme - 9890 ruble / ay
    • hem Android hem de iOS için uygulamalar, yapıcıya erişim, ücretsiz şablonlar ve uygulama simgeleri, temel uygulama ekran görüntüleri, Skype ve e-posta desteği, Personel Müdürü, Push bildirimleri - ayda 50, içerik güncellemeleri - anında, mağazalarda uygulama kaynağı güncellemeleri - kısıtlama yok.
  • VIP - 3999 ruble. / ay + 150.000 RUB kurulum ödemesi

    • hem Android hem de iOS için uygulamalar, tasarımcıya erişim, ücretsiz şablonlar ve uygulama simgeleri, uygulamanın temel ekran görüntüleri, Skype ve e-posta yoluyla destek, kişisel yönetici, Push bildirimleri - sınırsız, içerik güncellemeleri - anında, mağazalarda uygulama kaynağı güncellemeleri - kısıtlama olmadan.
My-apps.com web sitesi: http://my-apps.com

bir platform sağlar” kendin Yap" için iPhone oluşturma/ uygulamalar , bu da programlama becerileri gerektirmez. Bu hizmet, her kuruluşun mobil (iPhone, iPad, Android) uygulamaları ve yayınları oluşturması için kolay bir yol sağlar. Müşteriler kendi kataloglarını, el ilanlarını, broşürlerini, raporlarını, özgeçmişlerini ve daha fazlasını oluşturabilir ve onlara bir SaaS çözümü sağlayabilir. İngilizce ve Rusça versiyonları vardır.

iBuildApp aşağıdaki paketlerde sağlanır:

  • İşletme (ayda 2.400 ruble) - 3.000 kurulum, sınırsız mobil site görüntüleme, yerleşik reklam yok, iTunes ve Google Play'de uygulama yayınlama.
IBuildApp web sitesi: http://ibuildapp.com

- uygulamalar geliştirmek için çevrimiçi bir hizmet (iPhone, iPad, Android). Birçok uygulama şablonundan birini temel alan bir uygulama oluşturmanıza olanak tanır. Uygulamanın oluşturulan kullanıcı arayüzünün öğeleri, e-posta gönderme, SMS mesajları gönderme, Facebook ve Twitter servislerine gönderme gibi işlevlerle ilişkilendirilebilir.

  • Geliştirici - Ayda 33 dolar. (sadece 1 uygulama oluşturulabilir)
  • Profesyonel - ayda 79 dolar.
  • Prim - aylık 129 dolar.
  • Girişim - Fiyatı ayrıca öğrenmeniz gerekiyor.

Tüm paketler aşağıdaki platformları destekler: IOS (iPhone / iPad) ve Android (Telefon / Tablet)

Viziapps web sitesi: http://www.viziapps.com

- iOS, Android ve Android için uygulamalar oluşturmanıza izin veren çevrimiçi bir düzenleyici Windows Telefon... Bunu kullanmak çok basittir: kendi programı hazır parçalardan monte edilebilir. AppsBuilder daha basit ve anlaşılması daha kolay olmaya çalışsa da, deneyimsiz kullanıcılar, ayrıca programcılar için bazı özellikler ekler: örneğin, oluşturulan uygulamaları kendi Java betiklerinizle tamamlayabilirsiniz.

Her yerde 30 günü olan üç ücretli paket vardır - ücretsiz deneme:

  • Başlangıç ​​(ayda 49 Euro) -1 uygulama.
  • Normal (ayda 199 Euro) - 5 uygulamaya kadar.
  • Ölçeklenebilir (ayda 249 Euro'dan itibaren) - 5'ten fazla uygulama.
AppsBuilder web sitesi: http://www.apps-builder.com

Eğer sen normal kullanıcı iOS, muhtemelen kendinizinkini yaratma fikriniz vardı mobil uygulama iOS için. Üstelik artık teknolojinin gelişmesiyle bir iOS uygulaması geliştirmek için programlama dillerini öğrenmenize bile gerek yok, basit kurucuları kullanmak yeterli.

Dijital olarak, App Store eğlenceli içeriklerle dolu ve mevcut içeriğin aslan payı mobil cihazlar için ayrılmıştır. iOS Uygulamaları(ardından müzik, kitap ve filmler): arama yoluyla oyunlar, tarayıcılar, sosyal ağ istemcileri, taksi ve yemek siparişi verme olanağı sağlayan hizmetler, anlık mesajlaşma programları, hareketli duvar kağıtları ve posta araçları bulmak kolaydır. Mevcut birçok mobil uygulamayı aynı anda listelemek neredeyse imkansız ve bunun birkaç nedeni var.

İlk olarak, mobil iOS içerik pazarı sürekli değişiyor - dünyada daha önce hiç görülmemiş bir ürün yaratmaya karar veren yeni geliştiriciler olduğunda, daha sonra “profesyonellerin” içeriğini yeni kelimelerle yeniden yazmaya çalışan yeni gelenler ortaya çıkıyor. , modern eğilimlerin etkisi altında. İkincisi, bir App Store'un kütüphanesi milyonlarca mevcut tekliften oluşur. Ve bu, teknolojilerin gelişimi ve mobil geliştirmeye keskin bir şekilde azaltılmış giriş seviyesi dikkate alındığında, sınırdan uzaktır.

Evet, programlama dilleri hala öğrenmeye değer (şablonları yeniden şekillendirmek ve dünyayı değiştirmek istiyorsanız), ancak son zamanlarda bilgisiz bir uygulama geliştirebilirsiniz - asıl mesele kendinizi doğru araçla donatmak ve uygun bir hizmeti kullanmaktır, bir kurucu.

Uygulamanıza neden ihtiyacınız olabilir?

Modern iOS mobil işletim sistemi için uygulama geliştirme birkaç açıdan değerlendirilmelidir:

  • İş aracı. Hayal etmesi zor modern hizmet teslimat hizmeti, büyük bir restoran veya yalnızca cep telefonu ve ev telefon görüşmeleri yoluyla faaliyet gösteren bir taksi şirketi. Kim ara sıra sanal kart yerine saatlerce hatta kalmak ister ki? istenen adresler bazen trenlerde, sonra pasajlarda kafam karıştı ve yemek seçip çağrı merkezi operatöründen tekrar uygun pozisyonları sordu. Bu durumda, uygulamanın "hareketlilik" her şeydir! Evet ve kalabalıkla daha etkili bir şekilde etkileşime geçmenin, izleyiciyi çekmenin, ardından yeni indirimler ve tekliflerle neredeyse hiç yolu yoktur.
    Ancak, mobil uygulamalar her zaman yalnızca bir tanıtım aracı olarak görülmemelidir - bazen App Store'dan indirilen asistanlar, bazı kaynaklarla etkileşimi basitleştirir. Örneğin, yakın zamanda alınan postaları okumak için tarayıcınızı her zaman kullanmanız gerekmez. Bir mobil uygulama indirip sisteme giriş yapıp ardından bir bildirim sistemi kurmak varken neden her seferinde bu kadar uzun sürüyorsunuz? Gereksiz hiçbir şeyi kaçırmayın ve postanızı kontrol ettikten sonra kalan süre bir fincan kahve için de yeterli olacaktır;
  • Eğlence. Kalkınan geliştiricilerin App Store'a girme hayalini kuran içeriğin ikinci yönü, eğlence içeriğini beceriksizleştirme girişimidir. Ve birçok seçenek var - oyunlar, parodiler sosyal ağlar, hizmetler sanal iletişim, "trendleri" vuran yeni öğeler. Bu bölümdeki içerik yalnızca eğlence amacıyla toplanmıştır ve hiçbir şekilde halihazırda çalışmakta olan bir işle bağlantılı değildir.

Buna göre, bir mobil uygulamaya neden ihtiyaç duyulabileceği veya birikmiş olabileceği iki seçenek vardır. ilginç fikirler Geliştirici ortamının yardımıyla ifade etmek istediğim veya iş uzun süredir tepeye çıktı ve şirketin hizmetlerini kullanan müşteriler, gerçekten yararlı ve kullanışlı bir şeyle ödüllendirmek istedim (örneğin, malları içeren bir mobil katalog) hızlı bir şekilde sipariş verebilirsiniz, bir teslimat yöntemi seçin ve yıldırım hızıyla ödeme yapın).

Programlama dillerini öğrenmek istemiyorsanız, yeni başlayanlar ne yapmalıdır?

Birkaç yıl önce, yeni başlayanlardan başlayanlara giden yol profesyonel geliştirici mobil uygulamalar her türlü testten geçti. İlk olarak, bir şey yaratmak için bir programlama dili öğrenmeniz gerekiyordu (Android için geliştirmeye ihtiyacınız varsa, o zaman Java, iOS için ise - Objective-C veya şimdi popüler Swift yapıcısı) ve bundan başlamanız gerekiyordu. sıfırdan, ancak matematik, mantık ve işaretleme çalışmasından hemen sonra.

İkincisi, her iOS uygulama geliştiricisinin sahip olması gerekir elma teknolojisi uygun araçlarla (Xcode gibi) tam olarak çalışmak ve App Store'u geliştirilen içeriği dağıtmak için bir platform olarak doğrudan kullanmak.

İOS işletim sistemine yakından bakarsanız, işletim sisteminin son derece kapalı olduğunu ve yeni bir mobil iOS uygulaması oluşturma ve geliştirme aşamasında her türlü kısıtlamaya dönüştüğü gerçeğini göz ardı edemezsiniz.

Başarı, indirme yetersizliğinden büyük ölçüde etkilenir belirli sürümler Sürümleri test etmek ve uyumluluğu kontrol etmek için PC'de iOS. Ancak her geliştirici, bir başkasında hala varsa, yeniliğin hem iOS 11 hem de iOS 5 ile nasıl başa çıktığını kontrol etmek zorundadır. Moderasyonun sert olduğu App Store'a içerik ekleme aşamasında da zorluklarla karşılaşılıyor - yanlış ekran görüntüleri nedeniyle bile yeni bir ürün reddedilebiliyor.

Son zamanlarda, zaman çok değişti - mobil uygulamaların geliştirilmesi için elma ürünleri Windows veya Linux'lu herhangi bir bilgisayar yapacaktır. Dil öğrenmeye de gerek yok, çünkü ağ, birkaç adımda en azından depoda bulunan malların ayrıntılı olduğu bir mağaza oluşturmayı teklif eden özel "tasarımcılar" için bir yer buldu. sanal kartla taksi çağırma platformu.

Ancak asıl şaşırtıcı olan, artık programlama dillerinin öğrenilmesine gerek kalmaması değil, iOS geliştirme uygulamalar - her şey sezgisel, erişilebilir ve açıktır. Oluşturmanın her aşamasında yapılan seçimler gerçek zamanlı olarak ekranda görünür.

Uygulama oluşturma hizmetleri nelerdir, avantajları ve fırsatları nelerdir?

Uygulama tasarımcıları, yeni başlayanlara programlama dilleri bilgisi olmadan ve erişim olmadan bile izin veren modern ve hızlı büyüyen hizmetlerdir. özel ekipman, açısından ilginç ve mükemmel oluşturun modern teknolojiler, bazı eylemleri basitleştiren veya bazı ek fırsatlar sunan bir platform (oyun, araç, yardımcı program) (coğrafi konumu kullanarak bölgedeki en iyi restoranları arayın).

Yapıcıların avantajları nelerdir?

  • Asgari finansal yatırım. "Ücretli" geliştirici yok, uzun planlama ve belirsiz geliştirme süreleri. Sadece birkaç gün içinde bir fikir geliştirip noktaya getirebilir ve uygun bir dijital mağazada yayınlayabilirsiniz;
  • Hızlı yanıt kontrolü. Herhangi bir nedenle, müşteriler yeterli miktarda reklam olmasına rağmen App Store'daki yeni bir ürüne dikkat etmiyorlarsa ve indirmeyi kabul etmekte isteksizlerse, büyük olasılıkla işi mobil platformlara aktarmak için çok erken ve diğer fikirlere odaklanmaya değer;
  • Düşük giriş eşiği. Web'de bulunan her kurucu en küçük ayrıntısına kadar düşünülmüştür - sezgisel bir arayüz, yeni başlayanlar için özel talimatlar ve hataları önlemek için bir dizi ipucu sunar;
  • Bir şablon almak kolaydır. Fikir tipikse (mal satmak, yiyecek teslim etmek, ücretsiz araba aramak için bir platformun geliştirilmesi), yeni başlayanların teknik açıdan hiçbir şey bulması gerekmeyecek - her şey uzun zamandır profesyoneller tarafından yapıldı. Ana şey, yapıcıdaki mal ızgarasını doğru bir şekilde doldurmak ve mevcut menü ve bölümlerin adını yeniden yazmaktır;
  • Sonuç hakkında endişelenmenize gerek yok. Uygun bir şablon seçilirse, para pratik olarak yatırılmaz ve harcanan zaman birkaç gün için pek yeterli olmaz, o zaman endişelenecek ne var? Uygulamanın başlatılması sonucunda elde edilen sonuç, icat edilmiş bir fikri veya yeniden başlatılmasını gerektiren köklü bir işi değerlendirmeye yönelik başka bir girişim olarak düşünülebilir;
  • Toplam destek. Peki ve nerede ses ve bilgili insanlar olmadan nerede yazılı sohbet nereye tıklayacağınızı ve nereye bakacağınızı söyleyecektir.

Ne yazık ki, yapıcılar dezavantajsız değildir. Ve şablonların yetenekleri çok sınırlıdır ve ilk istekte ekstra işlevsellik eklenemez ve reklamları devre dışı bırakmak için ödeme yapmanız gerekir ve yapıcıya olan bağlantıyı her zaman kaldırmak mümkün değildir. Ayrıca, gerçek lansmandan önce çok aşamalı testler yapmak her zaman mümkün değildir.

En iyi inşaatçı hizmetleri

Kullanıma uygun kurucuların listesi her yıl genişlemektedir - bu durumda "en iyiyi" belirlemek çok sorunludur, ancak yine de kesinlikle bakmaya değer üç kurucuyu seçebilirsiniz:

iyi berber

Uzun süredir küçük bir işletmeye sahip olan ve fırsatlarını genişletmeye karar verenler için bir kurucu. Yapıcı aynı zamanda geliştirme aşamasındaki yeni başlayanlar için tasarlanmıştır (mevcut Özel talimat, şablonlar açıktır, sohbetlerde uzmanlarla sohbet edebilir ve faydalı tavsiyeler alabilirsiniz) ve gerçek profesyoneller için - herkes açabilir program kodu, oluşturulan iOS uygulamasının ormanına girin ve çalışılan programlama dillerinin yardımıyla mükemmel sonuca ulaşın.

Ve dahası - GoodBarber yapıcısı, akıllı telefonların ve tabletlerin tüm yönlerini kullanmanıza olanak tanır - bildirimler, çeşitli mobil hizmetlere entegrasyon (takvimlerden haritalara), hızlı erişim... Bu arada, App Store'a bir proje yükleme arzusu olduğunda, bu tür şeyleri kendi ellerinizle yapmak zorunda değilsiniz - asıl mesele desteğe başvurmak, belirtilen tutarı ödemek (fırsat için) konumlanmış Uygulama mağazası Aylık ödeme yapmanız gerekir) ve ardından sonucu bekleyin!

BuildFire

İşlevsellik bakımından GoodBarber'a benzer bir kurucu, bu, kurucudaki kayıt aşamasından uygulamanın ana işlevselliğinin oluşturulduğu ana kadar sadece on dakika içinde almanızı sağlar. Hizmette bulunan hemen hemen tüm özellikler olumlu bir değerlendirme gerektirir - hem şablonlar hem de yerleşik grafik düzenleyici, ve özel grafik arayüzü, tek tıklamayla ve ilk istekte düğmeler, menüler ve bölümler oluşturmanıza olanak tanır.

Geliştirme sırasında elde edilen ilk prototip, hemen özel bir test ortamına yüklenebilir ve geliştirmenin bir iOS akıllı telefon veya tablette potansiyel olarak nasıl görüneceği test edilebilir.

Uygula Pasta

Platformlar arası kurucu (herhangi bir mobil işletim sistemi için geliştirebilirsiniz - iOS için, hatta Windows Phone için bile), ana özelliği doğrudan tarayıcıda bir mobil uygulama oluşturma yeteneğidir! Bir tasarım ve uygun renkler seçmeniz, bağlantılar eklemeniz, boş alanı resimler ve bağlantılarla dekore etmeniz ve geliştirmeyi yayınlamak için göndermeniz gerekir. Yayınlanmadan önce 30 dakikadan fazla geçmeyecek!

Bu arada yapıcı, kelimenin tam anlamıyla hemen yapılandırılır - ilk istekte yetkilendirme menüsü bile yeniden tanımlanabilir. Eksilerden - her şey İngilizce'dir (ancak rakiplerde olduğu gibi), reklamları kaldırma fırsatı için ödeme yapma ihtiyacı.

Başvurunuzda bundan sonra ne yapmalı?

Bir sonuç uğruna değil, kendi zevkiniz için uygulamalar oluşturma ve deneme yapma arzunuz varsa, yukarıdaki yapıcıları gün boyu kullanabilir ve düzenleyebilirsiniz. kendi fikirleri mobil uygulamalar şeklinde. Bunun için ödeme yapmanız gerekmeyecek ve sonuç "kağıt üzerinde" kalacaktır.

Her şeyi izleyiciye iletmek önemliyse, o zaman en basit seçenek- yardım istemek dijital mağazalar... Örneğin, App Store. İsteyenlere yer verilecektir. Tek dezavantajı, kayıtlarla ilgili uzun güçlükler, sertifika alma ihtiyacı ve sürüm için ödeme yapma zorunluluğudur. İkinci durumda, bir mobil uygulamayı test etmek ve hem izleyici hem de gerçek para kazanmak mümkün olacaktır.