iPadOS: مفاهیم کلیدی، توسعه برای iPad و Apple Pencil

نویسنده: IT Sectr منتشر شده: 2026-02-07 زمان مطالعه: 12 دقیقه

iPadOS — سیستم عامل اپل برای آیپد است که در سال ۲۰۱۹ از iOS جدا شد. توسعه برای آیپد قابلیت‌های منحصربه‌فردی را در نظر می‌گیرد: چندوظیفگی Split View و Stage Manager، ورودی Apple Pencil با تأخیر کم و Safari دسکتاپی.

نکات اصلی

  • iPadOS — فورکی از iOS با چندوظیفگی پیشرفته و پشتیبانی از Apple Pencil
  • چندوظیفگی شامل Split View، Slide Over، Stage Manager و مانیتورهای خارجی است
  • Apple Pencil — قلمی با تأخیر ۹–۲۰ میلی‌ثانیه، پشتیبانی از PencilKit و hover API
  • تطبیق رابط از Size Classes (regular/compact) و UISplitViewController استفاده می‌کند
  • Safari در iPadOS با مدیر دانلود در حالت دسکتاپ کار می‌کند

iPadOS چیست؟

iPadOS — سیستم عامل اپل برای آیپد است که اولین بار در سال ۲۰۱۹ به عنوان انشعابی از iOS (نسخه ۱۳) منتشر شد. قبل از آن، آیپد از همان iOS آیفون استفاده می‌کرد. جدا شدن iPadOS به اپل اجازه داد قابلیت‌های خاص صفحه بزرگ را پیاده‌سازی کند: چندوظیفگی، Safari دسکتاپی، Drag & Drop و پشتیبانی از مانیتورهای خارجی.

iPadOS سازگاری کامل با برنامه‌های iOS را حفظ می‌کند: هر برنامه آیفون در iPad در حالت مقیاس‌بندی اجرا می‌شود. با این حال، برای تجربه کاربری باکیفیت، تطبیق لازم است: استفاده از Size Classes، UISplitViewController و پشتیبانی از میانبرهای صفحه‌کلید. طبق داده‌های اپل (WWDC 2025)، ۸۰٪ زمان در iPad کاربران در نسخه‌های تبلتی سپری می‌کنند، نه نسخه‌های مقیاس‌شده.

تاریخچه نسخه‌های iPadOS

iPadOS 13 (۲۰۱۹) Slide Over و Split View را آورد. iPadOS 14 (۲۰۲۰) Apple Pencil Scribble و UI فشرده را اضافه کرد. iPadOS 15 (۲۰۲۱) Quick Note و بهبودهای چندوظیفگی را معرفی کرد. iPadOS 16 (۲۰۲۲) Stage Manager و پشتیبانی از مانیتور خارجی را ارائه داد. iPadOS 17 (۲۰۲۳) ویجت‌های تعاملی و شخصی‌سازی Lock Screen را اضافه کرد.

نسخه iPadOSسالنوآوری کلیدی
iPadOS 13۲۰۱۹Slide Over، Split View، Safari دسکتاپی
iPadOS 14۲۰۲۰Scribble برای Apple Pencil، تماس‌های فشرده
iPadOS 15۲۰۲۱Quick Note، مدیر چندوظیفگی بهبودیافته
iPadOS 16۲۰۲۲Stage Manager، مانیتور خارجی ۶K
iPadOS 17۲۰۲۳ویجت‌های تعاملی، Lock Screen
iPadOS 18۲۰۲۴ماشین حساب Math Notes، Smart Script

معماری iPadOS و تفاوت با iOS

iPadOS بر پایه همان هسته XNU و Darwin iOS ساخته شده است، اما از پوسته اصلاح‌شده UIKit متناسب با کار با چندین پنجره و اندازه‌های دلخواه صفحه استفاده می‌کند. تفاوت معماری کلیدی — پشتیبانی از UIScene که در iOS 13 معرفی شد.

UIScene و چرخه حیات پنجره‌ها

در iPadOS هر پنجره (از جمله در Split View) یک UISceneSession جداگانه با چرخه حیات خاص خود است. برخلاف iPhone که یک برنامه یک UIWindowScene دارد، در iPad یک برنامه می‌تواند چندین UIScene داشته باشد (چندین پنجره، Slide Over، Stage Manager). SceneDelegate وضعیت هر پنجره را مستقل مدیریت می‌کند.

swift
import UIKit
import SwiftUI

/// SceneDelegate برای پشتیبانی از پنجره‌های متعدد در iPadOS
class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?
    var splitVC: UISplitViewController?

    func scene(_ scene: UIScene,
                 willConnectTo session: UISceneSession,
                 options connectionOptions: UIScene.ConnectionOptions) {
        guard let windowScene = (scene as? UIWindowScene) else { return }

        // UISplitViewController برای ناوبری تبلتی ایجاد می‌کنیم
        let splitVC = UISplitViewController(style: .tripleColumn)
        splitVC.primaryBackgroundStyle = .sidebar

        let sidebar = SidebarViewController()
        let primary = PrimaryViewController()
        let detail = DetailViewController()

        splitVC.viewControllers = [sidebar, primary, detail]

        let window = UIWindow(windowScene: windowScene)
        window.rootViewController = splitVC
        window.makeKeyAndVisible()
        self.window = window
    }

    // تطبیق هنگام تغییر اندازه پنجره (Split View)
    func windowScene(_ windowScene: UIWindowScene,
                     didUpdate previousCoordinateSpace: UICoordinateSpace,
                     interfaceOrientation previousOrientation: UIInterfaceOrientation) {
        let isMultitasking = windowScene.traitCollection.horizontalSizeClass == .compact
        print("iPadOS multitasking mode: \(isMultitasking ? "compact" : "regular")")
    }
}

UISplitViewController با سبک .tripleColumn سه ستون را همزمان نمایش می‌دهد: sidebar (ناوبری)، primary (لیست) و detail (محتوا). در انتقال به حالت فشرده (Split View با برنامه دیگر) UIKit به طور خودکار ستون‌ها را در پشته ناوبری جمع می‌کند. توسعه‌دهنده این رفتار را دستی مدیریت نمی‌کند — UIKit طرح را از طریق traitCollection تطبیق می‌دهد.

تفاوت‌های اضافی با iOS

در iPadOS در دسترس هستند: پشتیبانی از درایوهای خارجی از طریق Files (USB-C/Thunderbolt)، حالت ترمینال Safari با بازرسی عناصر، میانبرهای صفحه‌کلید از طریق UIKeyCommand، مدیر دانلود سیستمی، Drag & Drop بین برنامه‌ها و Picture in Picture با اندازه پنجره قابل تغییر.

چندوظیفگی در iPad: Split View، Slide Over، Stage Manager

چندوظیفگی — ویژگی کلیدی iPadOS است که آن را اساساً از iOS متمایز می‌کند. کاربر می‌تواند همزمان با چندین برنامه روی یک صفحه کار کند. توسعه‌دهنده باید تضمین کند که برنامه در هر حالتی از چندوظیفگی به درستی کار می‌کند.

Split View

Split View صفحه iPad را بین دو برنامه به نسبت ۵۰/۵۰ یا ۳۳/۶۷ تقسیم می‌کند. هر برنامه UISceneSession خود را با حافظه و چرخه حیات خاص خود دریافت می‌کند. در عرض صفحه کمتر از ۶۰۰ نقطه، UIKit به طور اجباری برنامه را به size class فشرده افقی منتقل می‌کند. برنامه باید این تغییر را به درستی مدیریت کند.

Slide Over

Slide Over — پنجره شناور روی برنامه فعال (عرض ۳۲۰ نقطه). برنامه در Slide Over به size class فشرده افقی (.compact) منتقل می‌شود. بهینه‌سازی UI برای صفحه باریک مهم است. در Slide Over برنامه می‌تواند با کشیدن از لبه راست یا از طریق داک فراخوانی شود. کاربر می‌تواند Slide Over را به Split View بکشد یا با کشیدن به راست ببندد.

Stage Manager

Stage Manager (iPadOS 16+، M1 و جدیدتر) — مدیر پنجره‌ای که امکان ایجاد پنجره‌های هم‌پوشان با اندازه‌های دلخواه را فراهم می‌کند. تا ۴ پنجره روی صفحه iPad و تا ۴ پنجره روی مانیتور خارجی (مجموعاً ۸) پشتیبانی می‌شود. برنامه‌ها برای هر پنجره جدید رویداد UISceneWillConnectNotification را دریافت می‌کنند. Stage Manager قوانین چرخه حیات را تغییر می‌دهد: پنجره در پس‌زمینه مسدود نمی‌شود، بلکه با منابع محدود به کار ادامه می‌دهد.

حالتتعداد پنجرهاندازه پنجرهSize Class
تمام صفحه۱۱۰۰٪ صفحهRegular
Split View ۵۰/۵۰۲۵۰٪ صفحهRegular (iPad Pro ۱۲.۹) یا Compact
Split View ۳۳/۶۷۲۳۳٪ / ۶۷٪Compact برای ۳۳٪
Slide Over۱ + شناور۳۲۰ ptCompact
Stage Manager۱–۴دلخواهبستگی به اندازه دارد

Apple Pencil و ورود دستی

Apple Pencil — قلم فعال اپل با پشتیبانی از شیب، فشار و تشخیص نزدیکی (iPad Pro M2+). تأخیر بین حرکت قلم و نمایش جوهر بسته به مدل ۹–۲۰ میلی‌ثانیه است. PencilKit — فریم‌ورک اصلی برای یکپارچه‌سازی نقاشی در برنامه.

PencilKit: یکپارچه‌سازی نقاشی

PKCanvasView سطح آماده نقاشی را با پشتیبانی از مرکب، مداد، ماژیک و پاک‌کن فراهم می‌کند. PKToolPicker — پنل انتخاب ابزار. توسعه‌دهنده نیازی به پیاده‌سازی رندر ضربه‌ها ندارد — PencilKit این کار را با شیدرهای Metal سخت‌افزاری انجام می‌دهد. تنظیم رنگ، ضخامت و شفافیت قلم در دسترس است.

swift
import PencilKit
import UIKit

class DrawingViewController: UIViewController {

    private lazy var canvasView: PKCanvasView = {
        let canvas = PKCanvasView()
        canvas.tool = PKInkingTool(.pen, color: .black, width: 5)
        canvas.delegate = self
        canvas.drawingPolicy = .anyInput
        canvas.backgroundColor = .white
        return canvas
    }()

    private lazy var toolPicker: PKToolPicker = {
        let picker = PKToolPicker()
        picker.addObserver(canvasView)
        picker.setVisible(true, forFirstResponder: canvasView)
        return picker
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(canvasView)
        canvasView.frame = view.bounds
        canvasView.becomeFirstResponder()
        toolPicker.addObserver(canvasView)
    }

    // ذخیره نقاشی در PKDrawing (فرمت باینری)
    func saveDrawing() {
        let drawingData = canvasView.drawing.dataRepresentation()
        let url = FileManager.default.urls(
            for: .documentDirectory, in: .userDomainMask
        )[0].appendingPathComponent("drawing.drawing")
        try? drawingData.write(to: url)
    }
}

extension DrawingViewController: PKCanvasViewDelegate {
    func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) {
        print("Canvas changed: \(canvasView.drawing.strokes.count) strokes")
    }
}

PKCanvasView با drawingPolicy .anyInput هم Apple Pencil و هم انگشت را می‌پذیرد. PKToolPicker به کاربر امکان انتخاب ابزار را بدون نیاز به نوشتن UI اختصاصی می‌دهد. PKDrawing در قالب باینری با درجه فشرده‌سازی بالا ذخیره می‌شود — یک ساعت نقاشی حدود ۵–۱۰ MB اشغال می‌کند.

Scribble و تشخیص متن

Scribble (iPadOS 14+) امکان نوشتن دستی در هر UITextField و UITextView را فراهم می‌کند. سیستم با استفاده از Neural Engine نوشتار دستی را روی دستگاه تشخیص می‌دهد. مدل ML با الفبای لاتین و سیریلیک کار می‌کند. در iOS 17+ Scribble از تصحیح خودکار و پیش‌بینی کلمه بعدی پشتیبانی می‌کند. توسعه‌دهنده نیازی به افزودن کد ندارد — Scribble به طور خودکار هنگام وجود فیلد ورودی کار می‌کند.

Hover API برای Apple Pencil Pro

از iPadOS ۱۷.۴ و Apple Pencil Pro، توسعه‌دهندگان هنگام نزدیک شدن قلم به صفحه (تا ۱۲ میلی‌متر) رویدادهای hover دریافت می‌کنند. رویداد شامل موقعیت، نیروی فشار و آزیموت است. کاربرد: پیش‌نمایش نقطه تماس قلم در برنامه‌های نقاشی، پیش‌نمایش ابزار، بازخورد بصری قبل از لمس.

تطبیق رابط برای iPad

رابط تطبیقی — الزام اجباری برای برنامه‌های iPad است. iPad در اندازه‌های مختلف صفحه (۸.۳″–۱۳″) و حالت‌های چندوظیفگی کار می‌کند. UIKit Size Classes (horizontal: .regular/.compact, vertical: .regular/.compact) و UISplitViewController را برای تطبیق خودکار فراهم می‌کند.

Size Classes و traitCollection

Size Classes — انتزاعی است که فضای موجود را تعیین می‌کند. در iPad در حالت تمام صفحه هر دو محور — .regular هستند. در Split View (۵۰٪) کلاس افقی ممکن است در iPad mini یا iPad Air به .compact تبدیل شود. تمام طرح‌های محبوب ساخته‌شده بر Auto Layout و UICollectionViewCompositionalLayout به طور خودکار تطبیق می‌یابند. تطبیق سفارشی با بازنویسی traitCollectionDidChange انجام می‌شود.

swift
import SwiftUI

/// طرح تطبیقی برای iPad با استفاده از Size Classes
struct AdaptiveContentView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass
    @Environment(\.verticalSizeClass) private var verticalSizeClass

    var body: some View {
        if horizontalSizeClass == .regular && verticalSizeClass == .regular {
            // حالت تبلتی: sidebar + content
            NavigationSplitView {
                SidebarView()
            } detail: {
                ContentGridView()
            }
        } else {
            // حالت فشرده: ناوبری پشته‌ای
            NavigationStack {
                ContentGridView()
            }
        }
    }
}

/// نمونه شبکه تطبیقی: ۳ ستون در iPad، ۲ در iPhone
struct ContentGridView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass

    private var columns: [GridItem] {
        let count = horizontalSizeClass == .regular ? 3 : 2
        return Array(repeating: GridItem(.flexible(), spacing: 16), count: count)
    }

    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 16) {
                ForEach(items) { item in
                    ItemCard(item: item)
                }
            }
            .padding()
        }
    }
}

در مثال NavigationSplitView فقط زمانی استفاده می‌شود که horizontalSizeClass == .regular باشد (iPad تمام صفحه). NavigationStack در حالت فشرده اعمال می‌شود. تعداد ستون‌های شبکه (۳ در مقابل ۲) نیز بسته به Size Classes تغییر می‌کند. همه چیز هنگام تغییر حالت چندوظیفگی به طور خودکار به‌روزرسانی می‌شود.

UISplitViewController: ناوبری سه‌ستونه

UIKit UISplitViewController را با سه سبک فراهم می‌کند: .doubleColumn (sidebar + detail)، .tripleColumn (sidebar + primary + detail) و .single. در iPadOS 16+ splitViewController هنگام تغییر size class به طور خودکار بین سبک‌ها جابه‌جا می‌شود. توسعه‌دهنده viewControllers را برای هر ستون تعیین می‌کند، UIKit قابلیت مشاهده را مدیریت می‌کند.

فریم‌ورک‌ها و APIهای iPadOS

iPadOS SDK شامل تمام فریم‌ورک‌های iOS و همچنین APIهای موجود فقط در iPad است. در زیر قابلیت‌های کلیدی خاص iPad آورده شده است.

Drag & Drop

iPadOS از Drag & Drop بین برنامه‌ها و داخل برنامه پشتیبانی می‌کند. UIDragInteraction و UIDropInteraction امکان کشیدن متن، تصاویر، فایل‌ها و اشیاء سفارشی را فراهم می‌کنند. Drag & Drop همزمان با Multi-Touch کار می‌کند: کاربر می‌تواند چندین عنصر را با انگشتان مختلف بکشد. در SwiftUI از اصلاح‌کننده‌های .onDrag و .onDrop استفاده می‌شود.

میانبرهای صفحه‌کلید

هنگام اتصال صفحه‌کلید (Magic Keyboard، Smart Keyboard) UIKeyCommand امکان افزودن میانبرهای صفحه‌کلید را فراهم می‌کند. در iPadOS 17+ میانبرهای صفحه‌کلید با نگه داشتن طولانی Cmd نمایش داده می‌شوند. اپل توصیه می‌کند از ترکیب‌های استاندارد پشتیبانی کنید: ⌘C (کپی)، ⌘V (چسباندن)، ⌘F (جستجو)، ⌘N (سند جدید).

مانیتورهای خارجی

iPadOS 17+ از مانیتورهای خارجی با رزولوشن بومی تا ۶K (Pro Display XDR) پشتیبانی می‌کند. برنامه می‌تواند محتوا را روی صفحه خارجی از طریق UIWindowScene با شناسه جلسه جداگانه نمایش دهد. Stage Manager امکان قرار دادن تا ۴ پنجره با اندازه‌های قابل تغییر روی مانیتور خارجی را فراهم می‌کند.

APIکاربردموجود در iOS
UISplitViewControllerناوبری چندستونهبله
PencilKitنقاشی Apple Pencilخیر
UIDragInteractionDrag & Dropبله (فقط در برنامه)
UIKeyCommandمیانبرهای صفحه‌کلیدبله (فقط با صفحه‌کلید خارجی)
UISceneحالت چندپنجره‌ایبله (فقط iPad)
UIPencilInteractionضربه دوبل Apple Pencilخیر
PDFKitمشاهده و حاشیه‌نویسی PDFبله

بهینه‌سازی برنامه‌ها برای iPad

توسعه برای iPadOS نیازمند رویکرد خاصی به UI/UX، عملکرد و آزمایش است. اشتباهات قابل بخشش در iPhone به دلیل صفحه بزرگتر و چندوظیفگی در iPad بحرانی می‌شوند.

عملکرد و حافظه

iPad از تراشه‌های سری M (M1، M2، M4) با حافظه یکپارچه تا ۱۶ GB استفاده می‌کند. با وجود سخت‌افزار قدرتمند، برنامه در Split View یا Slide Over منابع را با برنامه دیگر به اشتراک می‌گذارد. فشار حافظه بیشتر از iPhone است. از فشرده‌سازی تصاویر، بارگذاری تنبل مجموعه‌ها و پروفایل‌سازی از طریق Instruments Allocations استفاده کنید. iPad Pro M4 با ۱۶ GB امکان اجرای برنامه‌های سطح دسکتاپ (Final Cut Pro، Logic Pro) را فراهم می‌کند.

طراحی Keyboard First

اکثر کاربران iPad از صفحه‌کلید خارجی استفاده می‌کنند. رابط باید کاملاً از صفحه‌کلید قابل کنترل باشد: Tab برای پیمایش بین فیلدها، Space برای فعال‌سازی عنصر انتخاب‌شده، Enter برای تأیید. پشتیبانی از Full Keyboard Access را اضافه کنید — تنظیم سیستمی که امکان کنترل هر عنصر UI را از صفحه‌کلید فراهم می‌کند.

آزمایش روی دستگاه‌های واقعی

شبیه‌ساز iPad رفتار چندوظیفگی را به طور کامل بازتولید نمی‌کند. روی دستگاه واقعی در حالت‌های مختلف آزمایش کنید: Split View با برنامه سنگین (Safari با ۲۰ برگه)، Stage Manager با ۴ پنجره، Slide Over با تغییر سریع برنامه. سناریو را بررسی کنید: کاربر برنامه را از Slide Over باز می‌کند، آن را به Split View می‌کشد، اندازه را تغییر می‌دهد، می‌بندد — برنامه نباید کرش کند.

objective-c
// بررسی حالت فعلی چندوظیفگی در iPadOS
- (void)checkMultitaskingMode:(UIWindowScene *)scene {
    if (scene.traitCollection.userInterfaceIdiom != UIUserInterfaceIdiomPad) {
        return;
    }

    BOOL isFullScreen = (scene.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassRegular &&
                              scene.traitCollection.verticalSizeClass == UIUserInterfaceSizeClassRegular);

    BOOL isSlideOver = (CGRectGetWidth(scene.coordinateSpace.bounds) == 320.0);

    if (scene.windows.first?.windowScene?.activationConditions.canBecomeFocused == YES) {
        NSLog(@"Stage Manager فعال است");
    }

    if (isSlideOver) {
        NSLog(@"حالت Slide Over");
    } else if (isFullScreen) {
        NSLog(@"حالت تمام صفحه");
    } else {
        NSLog(@"حالت Split View");
    }
}

سوالات متداول

iPadOS چه تفاوتی با iOS دارد؟

iPadOS دارای چندوظیفگی پیشرفته (Split View، Slide Over، Stage Manager)، پشتیبانی از Apple Pencil با تشخیص نزدیکی، Safari دسکتاپی با مدیر دانلود، مانیتورهای خارجی با رزولوشن بومی و سیستم فایل Files با دسترسی به درایوهای خارجی از طریق USB-C است.

چگونه پشتیبانی از Split View را به برنامه اضافه کنیم؟

Split View به طور خودکار پشتیبانی می‌شود اگر برنامه از UISplitViewController استفاده کند. برنامه باید تغییرات size class را به درستی مدیریت کند: در انتقال به حالت فشرده از UINavigationController برای پشته صفحه‌ها استفاده کنید. برای انصراف صریح از Split View، UIRequiresFullScreen = YES را در Info.plist تنظیم کنید.

چگونه Apple Pencil را در برنامه یکپارچه کنیم؟

از PencilKit استفاده کنید: PKCanvasView برای سطح نقاشی و PKToolPicker برای انتخاب ابزار. برای پردازش سفارشی لمس قلم — UIEvent با نوع .hover و UIPencilInteraction برای ضربه دوبل. تأخیر Apple Pencil Pro — ۹ میلی‌ثانیه، نسل قبلی — ۲۰ میلی‌ثانیه.

اندازه صفحه‌های iPad چقدر است؟

iPad mini ۸.۳″ (۲۲۶۶×۱۴۸۸)، iPad Air ۱۰.۹″ (۲۳۶۰×۱۶۴۰)، iPad Pro ۱۱″ (۲۳۸۸×۱۶۶۸)، iPad Pro ۱۳″ M4 (۲۷۵۲×۲۰۶۴). برای تطبیق از Size Classes و Auto Layout استفاده کنید. مانیتورهای خارجی تا ۶K از طریق Thunderbolt. Stage Manager تا ۸ پنجره را پشتیبانی می‌کند (۴ در iPad + ۴ در مانیتور خارجی).

آیا iPadOS از مانیتورهای خارجی پشتیبانی می‌کند؟

iPadOS 17+ از مانیتورهای خارجی از طریق USB-C/Thunderbolt با رزولوشن بومی تا ۶K پشتیبانی می‌کند. برنامه می‌تواند محتوا را روی مانیتور خارجی از طریق UIWindowScene جداگانه با چرخه حیات خاص خود نمایش دهد. Stage Manager تا ۴ پنجره را روی مانیتور خارجی پشتیبانی می‌کند.

خلاصه

  • iPadOS — سیستم عامل جداگانه اپل برای iPad با چندوظیفگی، Apple Pencil و Safari دسکتاپی
  • چندوظیفگی شامل Split View، Slide Over (۳۲۰ pt) و Stage Manager (تا ۸ پنجره) است
  • Apple Pencil از طریق PencilKit با تأخیر ۹–۲۰ میلی‌ثانیه و hover API پشتیبانی می‌شود
  • UI تطبیقی از Size Classes و UISplitViewController برای همه حالت‌ها استفاده می‌کند
  • iPadOS SDK شامل Drag & Drop، UIKeyCommand، مانیتورهای خارجی ۶K و UIScene است
  • Stage Manager (M1+) امکان پنجره‌های هم‌پوشان با اندازه‌های دلخواه را فراهم می‌کند
  • آزمایش اجباری روی دستگاه‌های واقعی در همه حالت‌های چندوظیفگی

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید