Yeni Başlayanlar İçin Mobil Uygulama Geliştirme Rehberi

Burak Vural
8 min readJan 16, 2024

--

Mobil uygulama geliştirmek, günümüzde hem profesyonel yazılımcılar hem de yeni başlayanlar için heyecan verici bir alan haline geldi. Ancak, doğru programlama dilini seçmek, başarılı bir mobil uygulama projesi için kritik bir adımdır. Bu makalede, mobil uygulama geliştirmek için en çok tercih edilen programlama dillerini inceleyeceğiz.

Uygulama geliştirme konusunda en popüler başlıkları sizlere sıralamamız gerekirse eğer en çok merak edilen başlıklar genel olarak Python, Kotlin ve React başlıkları olarak sıralayabiliriz.

Makale mobil uygulama geliştirme başlığında birçok teknik bilgiyi ve merak edilen birçok konuyu genel olarak sunmaktadır. Spesifik bir başlıktan ziyade genel bir izlenim sunmaktadır.

Python ile Mobil Uygulama Geliştirmek

Mobil uygulama geliştirmek için Python genellikle en yaygın tercih edilen dil değildir. Ancak, Python kullanarak çeşitli araçlar ve çerçevelerle mobil uygulamalar geliştirmek mümkündür. İşte Python ile mobil uygulama geliştirmek için bazı framework ve yöntemler,

1. Kivy Framework:

Kivy Python dilini kullanarak çapraz platform (cross-platform) mobil uygulamalar geliştirmek için bir açık kaynaklı bir çerçevedir. Kivy ile uygulama geliştirmek, grafiksel arayüzleri oluşturmak ve mobil cihazlar üzerinde çalıştırmak mümkündür.

Kivy’yi kullanarak basit bir mobil uygulama geliştirmek için önce Kivy’i yükleyip bir proje başlatmanız gerekmektedir. Aşağıda bir örnek bulunmaktadır:

# main.py
from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
def build(self):
return Button(text='Merhaba, Kivy!')

if __name__ == '__main__':
MyApp().run()

###################################################

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.button import Button

class MyApp(App):
def build(self):
label = Label(text="Merhaba, Dünya!")
button = Button(text="Butona Bas")
button.bind(on_press=self.on_press)
return label, button

def on_press(self, button):
label.text = "Butona Basıldı!"

if __name__ == "__main__":
MyApp().run()

2. BeeWare:

BeeWare projesi, Python ile mobil ve masaüstü uygulamalar geliştirmeyi amaçlayan bir girişimdir. BeeWare, BeeApp adlı bir çerçeve sağlar ve bu sayede Python ile Android ve iOS uygulamaları geliştirmek mümkün olur.

from beeware.wxpython import App, Widget

class MyApp(App):
def build(self):
return Widget()

if __name__ == "__main__":
MyApp().run()

#########################################################

from beeware.wxpython import App, Widget

class MyApp(App):
def build(self):
widget = Widget()
label = Label(text="Merhaba, Dünya!")
widget.add(label)
button = Button(text="Butona Bas")
button.bind(on_press=self.on_press)
widget.add(button)
return widget

def on_press(self, button):
label.text = "Butona Basıldı!"

if __name__ == "__main__":
MyApp().run()

3. SL4A (Scripting Layer for Android):

SL4A kullanarak Python betiklerini Android üzerinde çalıştırabilirsiniz. Ancak, bu yöntem genellikle küçük projeler veya betikler için kullanılır ve tam anlamıyla bir mobil uygulama geliştirmek için uygun değildir.

Not: Mobil uygulama geliştirmek istiyorsanız, genellikle Java, Kotlin (Android) veya Swift (iOS) gibi platforma özgü dilleri öğrenmeniz ve kullanmanız daha uygun olacaktır. Bu diller, mobil platformlar üzerinde daha geniş destek alır ve daha iyi performans sağlar.

import android
import random

class Snake:
def __init__(self, screen):
self.x = 10
self.y = 10
self.direction = "right"
self.body = []

def move(self):
if self.direction == "right":
self.x += 1
elif self.direction == "left":
self.x -= 1
elif self.direction == "up":
self.y -= 1
elif self.direction == "down":
self.y += 1

self.body.append((self.x, self.y))
if self.x < 0 or self.x >= screen.width or self.y < 0 or self.y >= screen.height:
return False
if self.body[0] in self.body[1:]:
return False
return True

def main():
screen = android.display.get_current_display()
snake = Snake(screen)
while True:
if not snake.move():
break
screen.draw_line(snake.body[0][0], snake.body[0][1], snake.body[1][0], snake.body[1][1], (255, 0, 0))

if __name__ == "__main__":
main()

Mobil Uygulama Programa Dili

En çok tercih edilen mobil uygulama programlama dili, hedeflenen platforma göre değişiklik gösterebilir. Android ve iOS, günümüzde en popüler mobil platformlardır ve bu platformlar için kullanılan ana programlama dilleri şunlardır:

Android İçin:

  • Java: Uzun süredir Android uygulamalarını geliştirmek için kullanılan temel dil. Android ekosisteminde geniş bir kullanıcı kitlesi ve kaynak desteği bulunmaktadır.
  • Kotlin: Google tarafından resmi olarak desteklenen, daha modern, güvenli ve kullanımı kolay bir dil. Kotlin, Java’nın yerini almaya başlamış ve Android uygulama geliştirmek isteyen birçok geliştirici tarafından tercih edilmektedir.

iOS İçin:

  • Swift: Apple tarafından geliştirilen, güvenli, hızlı ve modern bir dil. Swift, Objective-C’nin yerini almış ve Apple ekosistemine entegre olarak iOS, macOS ve watchOS uygulamaları geliştirmek için kullanılır.
  • Objective-C: Swift’in öncesinde kullanılan, Apple’ın geleneksel iOS uygulama geliştirme dilidir. Hâlâ birçok eski projede kullanılmaktadır.

Çapraz Platform Çözümleri:

  • Flutter (Dart): Google tarafından geliştirilen ve Dart programlama dilini kullanan çapraz platform çözümü. Hem Android hem de iOS için tek bir kod tabanı ile uygulama geliştirmek mümkündür.
  • React Native (JavaScript/TypeScript): Facebook tarafından geliştirilen ve JavaScript veya TypeScript kullanarak çapraz platform uygulamalar geliştiren bir çerçeve. Hem Android hem de iOS için kullanılabilir.

Xamarin (C#):

  • C#: Microsoft tarafından geliştirilen C# programlama dili, Xamarin çerçevesi ile kullanılarak çapraz platform uygulamalar geliştirmek için tercih edilir. Hem Android hem de iOS için kullanılabilir.

Kotlin ile Mobil Uygulama Geliştirmek ( Android )

Kotlin ile mobil uygulama geliştirmeye başlamak için aşağıda basit bir adım adım rehber bulabilirsiniz. Bu rehber, Android Studio kullanarak Kotlin dilinde bir Android uygulaması oluşturmayı içerir.

Adım 1: Android Studio Kurulumu

Android uygulamalarını geliştirmek için resmi olarak önerilen Android Studio IDE’yi kullanacağız. Android Studio’nun resmi web sitesinden indirip bilgisayarınıza kurun.

Adım 2: Yeni Bir Proje Oluşturma

  1. Android Studio’yu açın.
  2. Ana ekranın sağ alt köşesinde bulunan “Start a new Android Studio project” seçeneğine tıklayın.
  3. Açılan pencerede proje adınızı ve kaydedileceği dizini belirtin. “Next” butonuna tıklayarak devam edin.

Adım 3: Cihaz ve Ekran Seçimi

  1. “Phone and Tablet” seçeneğini seçin ve ardından projeniz için hedef cihaz türünü belirtin. Örneğin, “Empty Activity” seçeneğini seçebilirsiniz.
  2. “Next” butonuna tıklayarak devam edin.

Adım 4: Proje Ayarları

  1. Projeniz için dil olarak “Kotlin” ve hedef Android versiyonunu seçin.
  2. “Finish” butonuna tıklayarak proje oluşturmayı tamamlayın.

Adım 5: MainActivity ve XML Dosyası

  1. Projenizde MainActivity.kt adlı bir Kotlin dosyası oluşturulmuş olacak. Bu dosya, uygulamanızın ana aktivitesini temsil eder.
  2. res/layout klasörü altında bulunan activity_main.xml dosyasını açın. Bu dosya, uygulamanızın arayüzünü tanımlar.

Adım 6: Basit Bir Kotlin Kodu Ekleyin

MainActivity.kt dosyasında, aşağıdaki gibi basit bir Kotlin kodu ekleyebilirsiniz:

package com.example.myfirstkotlinapp

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// Ekstra bir işlem ekleyebilirsiniz
println("Merhaba, Kotlin!")
}
}

Adım 7: Uygulamayı Çalıştırma

  1. Android Studio’da sağ üst köşede bulunan yeşil “Run” düğmesine tıklayarak uygulamayı çalıştırabilirsiniz.
  2. Bir emülatör seçebilir veya bir fiziksel cihazı bağlayabilirsiniz.

Swift ile Mobil Uygulama Geliştirme ( IOS )

Swift programlama dili kullanarak iOS uygulaması geliştirmeye yönelik basit bir adım adım örnek:

Adım 1: Xcode Kurulumu

iOS uygulamalarını geliştirmek için resmi olarak önerilen Xcode IDE’yi kullanacağız. Mac App Store’dan Xcode’u indirip kurun.

Adım 2: Yeni Bir Proje Oluşturma

  1. Xcode’u açın.
  2. Ana ekranın altındaki “Create a new Xcode project” veya “New Project” seçeneğine tıklayın.
  3. “iOS” altında “App” kategorisini seçin ve ardından “Single View App” şablonunu seçin.
  4. Projenize bir ad verin, bir organizasyon adı belirtin ve hedef cihaz türünü seçin.
  5. “Next” butonuna tıklayarak devam edin ve projenizi kaydedin.

Adım 3: Storyboard ve ViewController

  1. Projede “Main.storyboard” dosyasını açın. Bu dosya, uygulamanızın arayüzünü tasarlayabileceğiniz görsel bir araçtır.
  2. Storyboard’da, ekrandaki bileşenleri (UIButton, UILabel, vb.) sürükleyip bırakarak düzenleyin.
  3. ViewController.swift dosyasını açın. Bu dosya, ekrandaki bileşenlere işlevsellik eklediğiniz yerdir.

Adım 4: Basit Bir Swift Kodu Ekleyin

Örneğin, bir butona tıklandığında bir “Merhaba, Swift!” mesajını ekrana yazdıran bir kod ekleyebilirsiniz. ViewController.swift dosyasını şu şekilde düzenleyin:

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var greetingLabel: UILabel!

override func viewDidLoad() {
super.viewDidLoad()
// Ekran yüklendiğinde yapılacak işlemleri buraya ekleyebilirsiniz.
}

@IBAction func greetButtonTapped(_ sender: UIButton) {
greetingLabel.text = "Merhaba, Swift!"
}
}

UILabel bileşeni ve bir UIButton bileşeni içeren bir ekran tasarımını kullanır. UIButton’a tıklandığında, greetButtonTapped fonksiyonu çağrılır ve ekrandaki etiket metni güncellenir.

Adım 5: Uygulamayı Çalıştırma

  1. Xcode’da sağ üst köşede bulunan “Run” düğmesine tıklayarak uygulamayı bir simülatörde veya bir fiziksel cihazda çalıştırabilirsiniz.

React Native ile Mobil Uygulama Geliştirme Örneği:

Adım 1: Node.js ve npm Kurulumu

React Native projeleri için Node.js ve npm (Node Package Manager) gereklidir. Node.js’in resmi web sitesinden indirip kurabilirsiniz.

Adım 2: React Native CLI Kurulumu

React Native projeleri oluşturmak ve yönetmek için React Native Command Line Interface’i (CLI) kullanılır. Terminal veya Komut İstemi üzerinden şu komutu kullanarak React Native CLI’yi yükleyin:

npm install -g react-native-cli

Adım 3: Yeni Bir Proje Oluşturma

npx react-native init MyReactNativeApp
cd MyReactNativeApp

Adım 4: Uygulamayı Çalıştırma

npx react-native run-android
npx react-native run-ios

Bu komutlarla uygulamanız bir Android veya iOS simulatöründe çalışacaktır.

Adım 5: Basit Bir React Native Kodu Ekleyin

App.js dosyasını açın ve içeriği şu şekilde değiştirin:

import React from 'react';
import { View, Text, Button } from 'react-native';

const App = () => {
const greetHandler = () => {
alert('Merhaba, React Native!');
};

return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text>React Native Uygulaması</Text>
<Button title="Merhaba" onPress={greetHandler} />
</View>
);
};

export default App;

Bu, basit bir React Native uygulamasıdır. Butona tıklandığında bir uyarı penceresi görüntülenir.

Flutter ile Mobil Uygulama Geliştirme Örneği:

Adım 1: Flutter SDK Kurulumu

Flutter’ın resmi web sitesinden Flutter SDK’yı indirip kurun.

Adım 2: Dart SDK Kurulumu

Flutter ile birlikte gelen Dart dilini kullanacaksınız. Dart’ı Dart’ın resmi web sitesinden indirip kurun.

Adım 3: Yeni Bir Proje Oluşturma

flutter create my_flutter_app
cd my_flutter_app

Adım 4: Uygulamayı Çalıştırma

flutter run

Bu komutla uygulamanız bir Android veya iOS simulatöründe veya bir cihazda çalışacaktır.

Adım 5: Basit Bir Flutter Kodu Ekleyin

lib/main.dart dosyasını açın ve içeriği şu şekilde değiştirin:

import 'package:flutter/material.dart';

void main() {
runApp(MyFlutterApp());
}

class MyFlutterApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Flutter Uygulaması'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('Merhaba, Flutter!'),
ElevatedButton(
onPressed: () {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text('Merhaba'),
content: Text('Flutter ile hoş geldiniz!'),
actions: [
TextButton(
onPressed: () {
Navigator.of(context).pop();
},
child: Text('Kapat'),
),
],
);
},
);
},
child: Text('Merhaba Dünyaya Tıkla'),
),
],
),
),
),
);
}
}

basit bir Flutter uygulamasıdır. Butona tıklandığında bir diyalog penceresi görüntülenir.

Mobil Uygulama Geliştirirken Nelere Dikkat Edilmeli

Mobil uygulama geliştirirken, başarılı bir projenin ortaya çıkabilmesi için bir dizi faktöre dikkat etmek önemlidir. İşte mobil uygulama geliştirirken dikkate almanız gereken bazı önemli noktalar:

Hedef Kitlenizi Anlayın:

  • Uygulamanızı kimin kullanacağını ve kullanıcılarınızın ihtiyaçlarını iyi anlamak, tasarım ve geliştirme süreçlerinizde odaklanmanız gereken noktaları belirlemenize yardımcı olacaktır.

Kullanıcı Deneyimine Önem Verin:

  • Kullanıcı dostu bir tasarım ve iyi bir kullanıcı deneyimi, uygulamanızın başarısında kritik bir rol oynar. Menülerin, düğmelerin ve içeriklerin kullanıcılarınız için anlaşılır ve kullanımı kolay olmalıdır.

Performans ve Hız:

  • Uygulamanızın hızlı ve düzgün çalışması önemlidir. Gecikmeler veya performans sorunları kullanıcıların uygulamanızı terk etmelerine neden olabilir. Geliştirme aşamasında ve sonrasında düzenli olarak performans testleri yapmak önemlidir.

Güvenlik:

  • Kullanıcı verilerini korumak ve uygulamanızın güvenliğini sağlamak kritiktir. Veri şifreleme, güçlü kimlik doğrulama ve yetkilendirme yöntemleri gibi güvenlik önlemlerini uygulayarak güvenliği sağlayın.

Çeşitli Ekran Boyutlarına ve Cihazlara Uyum Sağlayın:

  • Farklı mobil cihazların ve ekran boyutlarının çeşitliliğini göz önünde bulundurun. Uygulamanızın farklı ekran boyutlarına ve cihazlara uyumlu olması, geniş bir kullanıcı kitlesi için önemlidir.

Düzenli Güncellemeler:

  • Uygulamanızı düzenli olarak güncelleyin. Hem yeni özellikler eklemek hem de hataları düzeltmek için periyodik güncellemeler sağlamak, kullanıcılarınızın memnuniyetini artırabilir.

İyi Bir Dokümantasyon Oluşturun:

  • Geliştirici ve kullanıcıların uygulamanızı anlamalarını kolaylaştırmak için kapsamlı ve anlaşılır bir dokümantasyon oluşturun.

Yerel Yasa ve Kurallara Uyun:

  • Uygulamanızın kullanıldığı bölgedeki yasalara ve kurallara uyun. Özellikle kullanıcı verileri toplama, depolama ve işleme konusunda yerel düzenlemelere dikkat edin.

İyi Bir Geri Bildirim Mekanizması Kurun:

  • Kullanıcıların geri bildirim sağlayabilmeleri için bir mekanizma oluşturun. Bu geri bildirimler, uygulamanızı sürekli iyileştirmeniz için değerli olabilir.

İyi Bir İnternet Bağlantısı Yönetimi:

  • Uygulamanızın internet bağlantısı olup olmadığını kontrol edin. İnternet bağlantısı olmadan da çalışabilen ve kullanıcılarına bilgilendirici hata mesajları sunan bir tasarım benimseyin.

Test Etme ve Sorun Giderme:

  • Uygulamanızı farklı cihazlarda, farklı işletim sistemlerinde ve farklı ağ koşullarında test edin. Sorunları hızlı bir şekilde tespit edip çözmek için düzenli olarak test yapın.

Pazarlama ve Tanıtım:

  • Uygulamanızı doğru bir şekilde pazarlamak ve tanıtmak, kullanıcı tabanınızı oluşturmanın ve büyütmenin önemli bir parçasıdır.

Bu faktörlere dikkat etmek, mobil uygulama geliştirme sürecinde başarıya ulaşmanıza yardımcı olabilir. Ayrıca, kullanıcı geri bildirimlerini ve pazar trendlerini düzenli olarak takip ederek uygulamanızı sürekli olarak iyileştirebilirsiniz.

--

--

Burak Vural

Software | Cyber Security | FullStack | Dev.Note and some coffee! Ars magus de templum clavis