MAMP ile MacOSX’de PHP tabanlı web geliştirme ortamı hazırlamak

MacOSX üzerinde php ile geliştirme yapmak istiyorsanız ilk yapmanız gereken şey geliştirme ortamınızı hazırlamak olacaktır.

MacOSX üzerinde halihazırda kurulu bir apache ve php sürümü bulunuyor zaten. Bunları basitçe aktif hale getirebilir ve geri kalan ayarları elle yapmak isteyebilirsiniz fakat macosx ile yüklü gelen php, apache sürümü ve eklentileri, standart ihtiyaçlara bile cevap veremeyebilir. Basit bir wordpress kurulumu bile gd, zip, iconv ve benzeri php eklentilerine ihtiyaç duyacaktır. Dolayısıyla bir noktada php kurulu php sürümünü güncellemeye ihtiyaç duyabilirsiniz. Apache için de durum aynı. Ayrıca sadece eklentiler değil, mysql gibi birkaç sunucu uygulaması da kurmak zorunda kalacaksınız. Bunları tek yerden başlatıp durdurabilmek için de başka araçlar bulmanız veya geliştirmeniz de gerekebilir.

Varolan apache ve php kurlumunu kullanmak dışında en hızlı kurlumu, MAMP (MacOSX Apache MySQL PHP) ile yapabilirsiniz. Bir çok genel eklentiyle beraber universal olarak derlenmiş ve paketlenmiş bir uygulama diyebiliriz MAMP için. MAMP ile birkaç dakika içinde standart bir web geliştirme ortamını ayağa kaldırabilirsiniz.

http://www.mamp.info/ adresinden indirebileceğiniz MAMP, basit bir şekilde kurulabiliyor. Applications klasörünüzde MAMP adında bir klasör içinde herşeyi toplu bir şekilde bulabileceğiniz MAMP, birçok ayar dosyasını da barındırıyor. Dolayısıyla Web root dizininizi kolayca değiştirebilir, php.ini veya my.cnf’i modifiye ederek istediğiniz eklentileri aktifleştirebilir pasifleştirebilirsiniz.

http://www.mamp.info/en/mamp/index.html adresinden MAMP ile beraber gelen tüm kütüphane / eklenti ve sunucu yazılımlarının listesini görebilirsiniz. MAMP’in standart sürümü ücretsiz ve basit bir yönetim arayüzü sunuyor.


Eğer vhost, dns, email sunucusu ayarlarınızı görsel bir arayüzde yönetmek istiyorsanız tek seferlik satın alabileceğiniz bir lisans ile MAMP PRO yani sadece yönetimsel arayüz uygulaması satın alarak varolan MAMP kurulumunuzu kolayca yönetebilirsiniz.


Birkaç ipucu vermem gerekirse, MAMP PRO’da çok göz önünde olmasa da “File > Edit Template > …” menüsünden php.ini, my.cnf, httpd.conf gibi ayar dosyalarınıza hangi dizinde olduklarını çözmeye gerek kalmadan ulaşabilirsiniz.

Web root klasörünüzü (kullanıyorsanız) Dropbox’unuzda bir dizini belirterek tüm web geliştirme dosyalarınızı ve projelerinizi dropbox’da tutarak anlık yedekleme sağlayabilirsiniz.

iOS’de otomatik yenilenen abonelikleri doğrulamak

Baştan belirtmek zorundayım, iOS uygulamalarına otomatik yenilenen abonelikleri entegre etmek tam bir baş ağrısı. Her ödeme yönetminin zor yanları olabilir, ancak iOS uygulama mağazası üstünden yapılan otomatik tekrar eden abonelikleri yönetmek çok daha karışık bir mevzu.

Baştan başlamak gerekirse, otomatik ödeme yönetime ile yapılan abonelikler diğer tür ödemelerden farklı. “iOS uygulama içi satış entegrasyonu ve ödemeleri doğrulamak” yazısında iOS uygulama mağazası ödemelerini entegre etmek ve ödeme türleri üzerine bir yazı yazmıştım. Otomatik tekrar eden abonelik dışındaki diğer ödeme türlerinin entegresyonunu o yazıdan inceleyebilirsiniz. Ancak bu konuda bilginiz yoksa önce o yazıdaki bilgilere ihtiyacınız olacak, önce o yazıyı incelemenizi tavsiye ederim.

Otomatik tekrar eden abonelikler sayesinde, kullanıcınızın iznini aldıktan sonra iTunes aracılığıyla, 1 haftalık, 1 aylık, 2, 3, 6 veya 12 aylık periyodlarla otomatik şekilde ödemelerini sağlayabiliyorsunuz. Bir ürün için kullanıcıyı elde tutmak açısından diğer, tek seferlik satın almalardan çok daha değerli. Kullanıcınız ödemeyi ilk sefer yaparken satın almayı yapıyor ve sonrasında servisi iTunes üstünden iptal edilene kadar ödemeler otomatik tekrarlanıyor. Siz kazancınızı Apple’dan alıyorsunuz.

Okumaya devam et “iOS’de otomatik yenilenen abonelikleri doğrulamak”

iOS uygulama içi satış entegrasyonu ve ödemeleri doğrulamak

iOS uygulaması geliştirmek bu günlerde oldukça popüler. Turkiye’de de birçok oyun geliştiricisi iOS platformlara yönelmeye başladı.

Uygulamanızda geliştireceğiniz gelir modeliniz bir şekilde Apple ödeme sistemine bağlanmak zorunda çünkü Apple uygulama geliştirici kontratınıza göre uygulama üzerinde yapacağınız herhangi bir satış modelini Apple ödeme sistemi üzerinden yapmak durumundasınız. Apple uygualama içi ödeme sistemini kullanmanın avantajları ve dezavantajları var.

En büyük dezavantajı her ödemede, Apple’a 30% vermek. Bunun dışında ödemeleri doğrulamanın teknik zorlukları da var. Bunun dışında avantajları, dezavantajlarını unutturacak kadar değerli. Çünkü iOS üstünden yapılacak bir alışverişte herhangi bir ödeme bilgisi sorgusu olmayacak, kullanıcılar ödeme bilgilerini zaten sistemde tanıtmış durumda. Yani bir ödeme kabul edebilmek aslında sadece bir onaylama kutusuna indirgeniyor. Çoğu durumda tek onay sorusuna cevap vermek ve Apple kimlik şifresini doğrulamakla ödeme sağlanabiliyor.

Bir diğer avantaj da, herhangi bir ödeme yönetim sistemi, banka vs gibi bir entegrasyonla uğraşmak durumunda olmamanız.

Şimdi gelelim entegrasyona, iOS geliştirici (objective-c) tarafında gerekli entegrasyonu StoreKit denilen bir Apple arabirimi ile iOS uygulamanıza yapmanız gerekiyor. Bazi amatör programcılar veya sunucu bağımsız uygulama yazmaya çalışan geliştiriciler ya gözden kaçırıyorlar ya da gerek görmüyorlar ama aslında StoreKit’den aldığınız tüm fatura kopyalarını (receipts) Apple sunucularına göndererek doğrulamanız gerekiyor.
Okumaya devam et “iOS uygulama içi satış entegrasyonu ve ödemeleri doğrulamak”

iPhone5 ve iPad Mini düşürülmeye daha yatkın

Bu sabah metorya binerken ipad mini’yi düşürdüm ve ters olarak (ekran üstte kalacak şekilde) sert bir şekilde yeri öptü. Aynı hareketi 5-6 yıl önce yeni aldığım bir macbook pro’ya da yapmıştım. Herhalde ilk düşürdüğüm cihazdır o, o zaman soğuk terlemiştim ama artık mobil cihazlarla herhalde çok daha fazla alıştık düşürmeye.

Normalde çok dikkatliyimdir ve son 3 ayı ve yıllar önce düşürdüğüm macbook’u saymazsak hayatımda hiçbirşeyi düşürmemiş unutmamışımdır. Ancak iphone 5’i çıktığından beri kullanıyorum ve ilk hafta 3 kere düşürdüm, neyseki ofiste evde ve alçak mesafeden oldu hepsi. Geçen ay ipad mini aldım ve iphone5’deki gibi boyut ve ağırlığı ciddi derecede ufaltmışlar.

Ev ve ofisim arasındaki seyahatimde neredeyse her gün ipad’le genellikle birşeyler okuyarak geçiriyorum, eski büyük ipadi bu kadar çok taşımıyordum ama son 1 aydır ipad mini ile bunu her gün yapmaya başladım. Kullandığım metro hattı sabahları biraz kalabalık oluyor ve çoğunlukla ayakta seyahat ediyorum. Bu sabah ipadi ikinci kere düşürdüm, daha önce de bir yerlerde düşürmüştüm ve neyseki hala hasarsız çiziksik durumda.

Sanırım ağır cihazlara alışmışız veya artık elde tutulamayacak ağırlıklara gelmeye başladı mobil cihaz üreten şirketler. Ama açıkça ki dikkatli olan biri için bile bu cihazlar düşmeye, elden kaymaya daha yatkınlar. Her gün birinin kırılmış, çatlamış telefonunu veya tabletini görüyorum. Muhtemelen cam değiştirme eskisi gibi pahalı değil veya bunu servis olarak sunan gayrı resmi şirketler var. Yoksa bile yakın zamanda çoğalacaklar eminim 🙂

Bu yazıdan sonra birkaç sağlamlık testi videosuna göz atmak isteyebilirsiniz: http://youtu.be/pMvE0lkunBg ve http://youtu.be/T4kBn-GRw1M

iOS uygulamanızı web sayfanızda AppStore çubuğu ile erişilebilir hale getirin

Eğer bir iOS mobil uygulamanız var ise web sayfanıza ekleyeceğiniz basit bir meta etiketi ile uygulamanızı sayfanıza bağlayabilir ve kullanıcılarınız mobil sayfari ile sayfanızı görüntülüyorsa AppStore banner’ı ile uygulamanıza daha kolay erişim sağlayabilirsiniz.

Görsel şekilde müdahale edemeyeceğiniz bu bannerı basit bir meta etiketi ile oluşturmak mümkün.

[code=html][/code]

iTunesConnect’den edineceğiniz nümerik uygulama kimliğini your_app_id ile değiştirerek sitenizin anasayfasına ekleyebilirsiniz. Gerisini safari hallediyor.

Ayrıca iPad gibi geniş ekranda görüntülendiğinde ayrıca uygulamanızın ekran görüntülerinin bir setini bu bar içinde görebiliyor kullanıcılarınız.

Teknolojiyi hissetmek

Şu an kullandığımız bilgisayarların ilk prototiplerinden beri insanoğluyla etkileşimini sağlayan araçlar, kontrolleri oldu ilk kontrol tabi ki klavye, numpad gibi düğmeli cihazlardı. 90’larda Apple’ın bilgisayar faresini üretmesiyle daha hassas etkileşimi sağlar olduk. Hâlâ da klavye ve fare, en güçlü iki kontrol olarak hayatımızda. Bir yandan her gün taşıdığımız ve bilgisayar kadar etkileşimde olduğumuz mobil cihazların minimal olma zorunluluğu nedeniyle çok farklı kontrol denemelerine şahit olduk cep telefonlarında. Tekerlekler, navigasyon topları, dokunmatik butonlar ve nihayetinde dokunabilir ekranlar…

Elektronik cihazlarlar ile etkileşimi sağlayan kontrollerin gelişimini destekleyen en büyük şey bence oyun endüstrisi oldu. Hâlâ da oyun endüstrisi bu alana ciddi katkılar yapıyor. Aynen uzay araştırmaları veya savaşların araba, uçak üretimine katkısı gibi. Oyun endüstrisinin katkısının bu kadar büyük olmasının nedeni ise oyunların her geçen gün daha gercekçi bir deneyim sunmaya calışmaları. Bunu zaten yazılımsal olarak uç noktalara götürmeyi başardı oyun sektörü. Şu an gerçeklikten ayırmakta zorlanacağınız kalitede oyun grafikleri görebiliyoruz hemen hemen her oyunda. Bu gerçekliğe yakınlaşma arzusu tabi ki insan vücudunun yaptığı fiziksel hareketleri dijital ortamda tanımlayabilme üzerine geliştirilen teknolojik cihazların üretimini tetikledi. Bunlar, eğer bir kontrol varsa fiziksel dünyaya tepki veriyor, hareket yönünü, şiddetini, doğrultusunu, ivmesini gibi her detayı büyük bir hassasiyetle yakalar hale getirdi şu anki oyun kontrollerini.

Bu gelişimin iş dünyasına yansıması bence çok olumlu. Çünkü bu uyarlamayı uzun süre oyun konsolları – bilgisayar ayrımı şeklinde gördük ve bu uyarlamayı yakalayamadı iş dünyasına hizmet veren teknoloji şirketleri. Mobil cihazlar ise kullanım amaçlarından dolayı ne oyun endüstrisiyle ne de gerçek dünyayı kopyalama eğiliminde idi.

Apple iPhone’u çıkardığında bu uyarlamaların bazılarını yaptı. Telefon olarak kullanılmaya başlanan bu elektronik cihaz, aslında gerçek dünyaya tepki veren en küçük cihazlardan biriydi ilk çıktığında. Apple’ın yaptığı bu uyarlama sadece farkedildi, uzun süre bu farklılığın avantajını yakalayamadı girişimciler. Bunun üstüne çok çalışma yapıldığını da zannetmiyorum ilk iPhone dünyada yayıldığı dönemde. Asıl ivmeyi iPad ile gördüğümü söyleyebilirim. Çünkü büyük bir ekran üstündeki dokunmatik etkileşim çok farklı bir deneyimdi tüm teknoloji tüketicileri için. Bunu ilk uyarlayan tabi ki uygulama geliştiren şirketler oldu, daha çok oyun şirketleri bunu yaptı ama zaten aynı cihaz üstünde olduğu için bir çok uygulamada da oyunlara benzer el hareketleri ile uygulamayı yönetme alışkanlıkları oturdu tüketicilerde. Sürüklemek, iki parmak ile büyütmek, birden fazla parmak kullanarak etkileşime girmek vs…

Şimdi ise web tarayıcıları üstünde bir çok site arayüzünü sadece görüntü olarak tablet cihazlarda uygun görünecek hale getirmiyor, aynı zamanda etikleşimlerini de bu cihazlara ve dokunabilirlik özelliklerine göre değiştiriyorlar.

Bir örnek vermek gerekirse, bir alış-veriş sitesi ürünleri listelerken sepete atmak için veya sepetteki ürünleri çıkartmak için ekle/sil gibi butonlar kullanıyor sitesinde. Tablet uyumlu sitesi ise aynı işi, ürünü kullanıcının parmaklarını kullanarak ürünü sürükleyerek sepet resmi olan bir kutuya bırakmasını isteyerek sunuyor bu özelliğini. Benzer şekile ürünü sepetten çıkarmak için de kullanıcının ürünü çöp kutusuna atmasını isteyerek yapıyor. Eskiden bu kadar radikal alışkanlıkları kullanıcıya sunmak intihar olarak sayılırdı, şimdi ise kullanıcı bu alışkanlıklara zaten sahip, bu alışkanlığa sahip olmasa bile çok kolay kabul edebiliyor çünkü uygulamanın kullanıcıdan istediği şey, kullanıcının normal hayatta yaptığı şeyler ve daha doğal. Çünkü gerçek dünyayı kopyalıyor. Aynen masanızın üstünde, ürün fotograflarını çöpe atmak veya bir kutuya toplayıp biriktirmek gibi düşünün bu uyarlamayı.

Daha basit bir örnek ise, bir resim galerisinde ileri/geri butonlarına basarak bir önceki veya bir sonraki resmi görüntüleyen bir site, artık resmin üstünde parmakları kaydırma hareketini algılayıp buna göre tepki veren siteler olarak yeniden tasarlanıyorlar.

Evet çok fazla örnek yok bunu kolaylıkla farkedebileceğiniz ancak şu an web sitelerindeki kullanıcı deneyimi trendi bu yöne doğru gidiyor.

Son kullanıcıya yakın örnekler bu gelişimi hissetmek için doğru örnekler olmayabilir. Fakat çevremde çok fazla kurumsal dünyada bu uygulamaları geliştiren veya bu tarz uygulamaları geliştirmek için büyük bütçelerle projelendirmeye calışan büyük kurumsal markalar var.

Biraz daha ilerisine bakmaya calışırsak, şu an Microsoft’un oyun konsolu Xbox’un hiç bir kontrol olmadan oyundaki kontrolleri yapmanızı sağlaması bence vizyonel bir örnek. Xbox’un Kinect konsolunda oyunda eğer bir boksörü canlandırıyor ve bir dövüş içinde iseniz, karakterinizi gerçekten yumruk atarak, televizyonun karşısında fiziksel olarak eğilerek veya sağa sola kayarak kontrol ediyorsunuz. Ufak bir kamera aracılığı ile hareketleriniz 3 boyutlu dünyada yansılanıyor ve bunu oldukça başarılı bir şekilde yapıyor.

Kontrolsüz olmak zorunda değil, dokunmatik ekranlar da kontrolsüz bir ortam olarak görülebilir. Yani artık gördüğümüz şeylere dokunarak veya dokunmadan işaret ederek yönetiyoruz dijital dünyayı. Yani artık teknolojik aletleri bir aracı kontrol ile yönlendirmekten çok onların bizi anlamasını sağlıyoruz etkileşime girebilmek için.

Oldukça heyecan verici şeyler göreceğiz önümüzdeki yıllarda.

Growl’u Apple alsa?

Growl son guncellenmesi ile parali oldu ve bir ton yeni ozellik eklediklerini soyluyorlar, henuz kullanmadim fakat iOS’de push notification’larin gunucu gorduk, cok daha anlik ve carpici diyebiliriz. Tabi ki growl daha lokal birsey yapiyor fakat neden sunucu tarafli bir mesaji iletmesin? (belki yapiyordur da yeni versiyonu).

Lion’dan once soyle bir soylenti okumustum, apple push servisini lion’da getiriyor ve macosx’e gomulu bir notification center olacagi yazilmisti bi yerlerde. Simdi Growl’un yaptiklarini dusununce apple’in growl’u satin almasi gibi birsey gecti aklimdan. Ama tabi bu hic de apple tarzi olmaz, muhtemelen growl’un yaptigini cok daha iyiye goturmek icin icerde bir takimla bunu cozerler.

Apple almasa da growl’u universallesmis bir uygulama oldugu icin tebrik etmek gerek.

iPad hakkında neler düşünüyorsunuz?

Apple Nisan 3’de yeni tablet oyuncağını piyasaya sürecek. Tabiki burada bu konuda bir haber yazmadım, çünkü hangi siteyi açsanız her yerde ipad’den bahsedildi, bir de benim maydonoz olmama gerek yoktu yani 🙂

Bu aygıt hakkında neler düşünüyorsunuz? Bu güne kadar iphone’a uygun sayfalar tasarlama konusunda çok fazla birşey yapmadık, yani Türk geliştiricilerin çok da umursadığını ve bu konuda çalışma yapanların çok küçük bir kitle olduğunu düşünüyorum. Ancak bundan sonra mobil aygıtların çoğalacağı, artık web sayfalarında kullanılabilirlik ve erişilebilirlik açısından farklı şeyler düşüneceğimiz, tasarımları/yerleşimleri hatta interaksiyonları da buna göre şekillendireceğiz gibi görünüyor.

Bu konuda kimler birşeyler yapıyor ya da yapmaya hazırlanıyor?

MacOSX ve Flash Player problemleri

Macosx’de flash player’ın 2 tane sıkıntısını bulduk, çözüm de bulamadık aslında.

1) Flash içinde multiply ile kullanılan bitmap’lar macosx’deki flash player’da olmuyor ve doğal olarak kirli duruyor. Mesela transparan bir sahnenize bir çizim/karikatür eklediniz ve hiç uğraşmadan multiply ile o sahneye gömdünüz. Windows’ta gayet sorunsuz görünüyor fakat henüz macosx flash player’da bu kısımlar pis duracaktır.

2) Fontları embed de etseniz, embed ettiğiniz fontlar Türkçe de desteklese macosx’de flash içinde Türkçe yazamıyorsunuz, değişik hurafeler dolaşıyor tabi çözümler için, işte biz de o çözümleri deniyoruz 🙂

wmode transparent bazen bu sorunları çözebiliyor bazen de yeni sorunlar getirebiliyor. Yine de bilmek/görmek lazım.

MacOSX’de Mail.app (Apple Mail) istemcisinde html imza ayarlamak

Neden HTML İmza Kullanmalısınız

HTML imza kullanarak gönderdiğiniz mesajlardaki imzalarınıza etkileşim ve referans katabilirsiniz. Ünvanınız ve insanları yönlendirebileceğiniz blog, portfolyo gibi sayfalarınıza bağlantı verebilir, ikonlar veya logonuzu kullanarak daha görsel bir imza oluşturabilirsiniz. Bu dökümana başlamadan önce bu konuda daha önce neden ve nasıl yapacağınızı anlattığım “E-postalarınıza HTML imza ile daha ilgi çekici olun” dökümanını okuyun. Okumaya devam et “MacOSX’de Mail.app (Apple Mail) istemcisinde html imza ayarlamak”