Мобильная разработка
4.15K subscribers
177 photos
23 videos
1 file
240 links
@haarrp - admin

@itchannels_telegram - 🔥лучшие ит-каналы

@javascriptv - продвинутый javascript

@JavaScript_testit- js тесты

@programming_books_it - бесплатные it книги

@ai_machinelearning_big_data - ml
加入频道
🔥 Дайджест полезных материалов из мира: Мобильной разработки за неделю

Почитать:
Искать пару, а найти работу. История разработчика Fitil
Enum в Swift: Перечисления Возможных Сценариев
Не усложняйте свои приложения
9 лучших консольных файловых менеджеров Linux
Разбор Android 14 для разработчиков
Нововведения фреймворка Flutter 3.13. Часть 1
Новый способ прослушивания событий жизненного цикла приложения во Flutter
Ускоряем поиск по коду в Android Studio
Как CallPassword ID меняет парадигму авторизации и экономит сотни тысяч
Как WhatsApp справлялся с 50 миллиардами сообщений в день, имея всего 32 инженера
Мобильная разработка за неделю #504 (28 августа — 3 сентября)
From Idea to App Store: A Step-by-Step Guide to Mobile App Development
Trends Of Mobile App Development In The Future
Mobile Dev Roadmap
Coding on the Commute: Making the Most of Your Journey
Creating Interactive UIs with Motion Layout using Jetpack Compose
Testing Banking Apps: Ensuring Security, Functionality, and User Experience
Expanding Your Mobile App's Compatibility: Using TechSpecs API to Test on Various Devices
Managing the Keyboard in SwiftUI: A Comprehensive Tutorial
Sneak Peek at 2023 Volume 3: Xamarin
Phone number centric apps are a Security Hazard

Посмотреть:
🌐 Что нового в Android 14 для разработчиков ( 36:32)
🌐 Cобеседование Android-разработчика. Максим Качинкин, Dodo Engineering ( 01:44:13)
🌐 Как учиться правильно? Методы обучения ios и не только ( 13:41)

Хорошего дня!

@mobdevelop
👍41🔥1
🔥 Дайджест полезных материалов из мира Мобильной разработки за неделю

Почитать:
Авторизация пользователей за копейки: как бизнесу отказаться от дорогих SMS
Flutter на ОС Аврора
Когда бизнесу нужна разработка мобильного приложения? Раскладываем по полочкам. Помогаем определиться с подходами
Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения
In-app purchases — за что и почему? Взгляд аналитика
PWA vs Native: чек-лист, который поможет выбрать
SDK AppMetrica — теперь в опенсорсе
Как работает SberPay под капотом
Шейдеры в iOS для начинающих
Нововведения фреймворка Flutter 3.13.Часть 2
Flutter: Initial Setup
Building security for digital wallets and financial applications
Building a PinePhone App With React and Tauri
CSS flex and grid using Cssbattles challange.
Leveraging Phone Numbers for Rock-Solid Identity Verification: A Technical Deep Dive
React Native Error: A navigator cannot contain multiple 'Screen' components with the same name ...
Easy way to embed responsive YouTube iframe
iOS Tips Xamarin Forms - Get Safe Area Height
iOS Tips - This app cannot be installed because its integrity could not be verified
The Ultimate Patient Appointment Manager App in .NET MAUI

Посмотреть:
🌐 Собеседование на Mobile Developer. Алексей Панов, Контур ( 00:00)
🌐 Как я разработал IOS приложение. От идеи до загрузки ( 18:51)

Хорошего дня!

@mobdevelop
👍52🔥2
🍏Оптимизация памяти при работе с JPEG

Когда вы работаете с растровыми изображениями можно сэкономить объем потреьляемой памяти путем конвертации RGB в YUV и последующих оптимизаций. Проблема в том, что UIImage не дает из коробки всех нужных API. Разработчик Телеграма рассказывает в статье о том, как обойти ограничения и сэкономить 50% потребляемой памяти.

https://dev.to/petertech/reducing-jpeg-uiimage-ram-usage-by-50-2jed

@mobdevelop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥53
🔥 Дайджест полезных материалов из мира Мобильной разработки за неделю

Почитать:
Сделали по красоте: победители «Конкурса красоты кода»
Особенности SRE и Observability в мобильных приложениях
Дайджест мобильной разработки за август
Перф-тесты VS аномалии. Вечная битва за производительность приложений на iOS
«Подарил удочки и попрощался с друзьями на год»: как я стал Android-разработчиком, отказавшись даже от прогулок
Мобильная разработка за неделю #506 (11 — 17 сентября)
Top Benefits of Developing Mobile Apps for Small Businesses
Chart of the Week: Creating a Pareto Chart Using .NET MAUI Charts to Identify Key Customer Complaints
Why Should Startups Develop a React Native App?
Stop Using Result Wrappers In Your Reactive Return Types
How to build your embedded NativeScript app within the Xcode project
Best Apps for Organizing International Healthcare Relocations
The Benefits of Hiring a Professional iOS App Development Company
How to support dark mode in your iOS App
A Guide to the Top 7 Document Automation & Assembly Platforms with Pros and Cons
Creating a .NET MAUI Smart PDF Viewer App with Auto-Summary Generation Using OpenAI’s ChatGPT

Посмотреть:
🌐 Поиск мотивации. Ментор же решит всё. Что мне делать ( 21:39)
🌐 Собеседование на Mobile Developer. Алексей Панов, Контур ( 01:50:36)
🌐 Модерация приложений и игр в магазине. RuStore ( 01:06:06)
🌐 FightClub. Консольная игра на Swift ( 02:18:55)

Хорошего дня!

@mobdevelop
👍51🔥1
5 лучших шаблонов проектов React Native на GitHub для быстрой разработки приложений 📱

Список полезных ресурсов, которые ускорят разработку приложений! Эти шаблоны упрощают процесс разработки, позволяя вам быстро приступить к работе над приложениями👇

1. React Native Elements: https://github.com/react-native-elements/react-native-elements
2. Ignite CLI Boilerplate: https://github.com/infinitered/ignite
3. React Native Paper: https://github.com/callstack/react-native-paper
4. UI Templates: https://github.com/Aashu-Dubey/React-Native-UI-Templates
5. React Native Boilerplate: https://github.com/thecodingmachine/react-native-boilerplate

@mobdevelop
👍31🔥1🤡1
🔥 Дайджест полезных материалов из мира Мобильной разработки за неделю

Почитать:
Собери сам: Набор для разработки на SwiftUI
15 лучших бесплатных курсов по Linux
jenv — удобный инструмент для управления версиями Java
Возможна ли жизнь после плеймаркета?
Как мы создаём Squadus. Реализуем «прыжок к сообщению» в мобильной версии
Как я делал солнечную зарядку для своего моноколеса и вот что получилось
Restyle как новый стандарт для создания UI в React Native
Дебаггинг приложения без Xcode. Зачем?
Универсальные датасорсы в iOS-разработке
Как Google победила фрагментацию и возвращает контроль над Android
Как мы распознавали цвета медицинских тест-полосок с помощью ИИ для healthcare стартапа
I'm trying to running the react-native application
Trust with DevTools Broken
How to setup Burp Suite on Android
Understanding APIs and Their Importance for Flutter Developers: Best Practices Included
Evento de Desenvolvimento Mobile Gratuito com 240 Vagas
Development Stages of a Mobile Application
Leading Android App Developers - Transform Your Ideas into Apps with Experts in Android Mobile App Development
Flutter Flow: Carousel Menu
Leading IOS App Development Company in USA | TechnBrains
Top Features To Be Added To Any Workplace Communication Application In 2023

Посмотреть:
🌐 Как Google победила фрагментацию и возвращает контроль над Android ( 29:55)
🌐 Советы к собеседованию ( 01:12:00)

Хорошего дня!

@mobdevelop
👍31🔥1
🔥 Дайджест полезных материалов из мира Мобильной разработки за неделю

Почитать:
Зачем собирать номера телефонов клиентов и как сделать это экологично
Модификаторы классов для сопровождающих API
Как коридорное исследование помогло обновить каунтеры тредов в мессенджере
Библиотека Scout — быстрый и безопасный DI на Kotlin
Сервисы: строим масштабируемые и гибкие приложения с помощью чистой архитектуры
Мобильная разработка за неделю #508 (25 сентября — 1 октября)
Parsing non-Latin based Twitch usernames in Kotlin
Role of AI in Mobile App Development
Why Mobile Apps Get Rejected
The Importance of Mobile App Design for Businesses in Dubai
Save your eyesight: how the EyeYoga app improves vision health for programmers
Zero-trust security in modern software architectures
How to Use Artificial intelligence to Enhance the Mobile User Experience
Unidades de Viewport no CSS: Além do VH (PT-BR)
How to Find and Hire Dedicated Developers for Your Tech Start-up
4 Reasons Why You Should Create an App for Your Business

Посмотреть:
🌐 Android Studio Chat Bot || Java 21 || Jetpack Paging Multiplatform - Новости 2023.19 ( 23:22)

Хорошего дня!

@mobdevelop
👍41🔥1
📲 Красивый и многофункциональный проигрыватель музыки и видео с поддержкой Youtube, построенный на Flutter

Github

@mobdevelop
👍8🔥1
30DaysofSwift

Самостоятельный проект по изучению языка Swift.

Этот проект был полностью вдохновлен проектом Сэма Лу "100 дней Swift", после прочтения его сообщения на Medium я принял решение посвятить каждый свой день написанию Swift, это финальный код 30 маленьких Swift-проектов.

https://github.com/allenwong/30DaysofSwift

@mobdevelop
👍93🔥2
🔥 Дайджест полезных материалов из мира Мобильной разработки за неделю

Почитать:
Что мобильным разработчикам расскажут на Mobius 2023 Autumn: от Compose и SwiftUI до компьютерного зрения
WidgetKit в iOS — не просто большие иконки
Как показать номер версии на экране загру…
4 сценария, когда нужно сделать ставку на Kotlin Multiplatform, а не Flutter
Как применяется и для чего нужен local first подход
8 вещей, которые я усвоил за 6 лет карьеры разработчика
Flutter: заказывать или не заказывать? Откровения разработчика
Как я осваивал Jetpack Compose
Что такое keys во Flutter?
Как тестировщику уйти из корпорации в стартап и не сойти с ума
iOS17.1 Leaked 💧🚰
Gestures in Jetpack compose — All you need to know
3 reasons NOT to use StoreKit
Flutter's Multilingual Support: Crafting World-Ready Applications
Demystifying React Native Redash and Gesture Handler
How Does Continuous Performance Testing Benefit Retail Apps?
Speeding Up Mobile Game Development with AI: 3 Ways to Use ChatGPT
Mobile Security Tools part 1: scrcpy
Role of Mobile Event Apps In In-person Events
What are the Objectives of a Mobile Application?

Посмотреть:
🌐 Пишем слайдер на UIKit + Lottie + Animations + Custom PageControll ( 01:43:45)
🌐 Как подключить платежную системы в IOS приложение? Или как принимать платежи в России? ( 40:25)

Хорошего дня!
👍41🔥1
Swift на сервере в 2023

Вас интересует развитие Swift на серверной стороне? Тогда обязательно прочтите этот ежегодный отчёт рабочей группы Swift Server!

На 2023 год запланирован дальнейший рост экосистемы, расширение документации и совершенствование инструментов разработки.

#ios #swift
4👍1🤯1
LocalSend: Кроссплатформенная альтернатива AirDrop с открытым исходным кодом

Это бесплатное приложение с открытым исходным кодом, позволяющее безопасно обмениваться файлами и сообщениями с соседними устройствами по локальной сети без необходимости подключения к Интернету.

🐱 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
Что отличает архитектурные паттерны MVC, MVP, MVVM, MVVM-C и VIPER друг от друга?

Эти архитектурные паттерны являются одними из наиболее часто используемых при разработке приложений, как на платформах iOS, так и Android. Разработчики внедрили их, чтобы преодолеть ограничения предыдущих паттернов. Чем же они отличаются друг от друга?

- MVC, самый старый паттерн, появился почти 50 лет назад.
- В каждом паттерне есть "представление" (V), отвечающее за отображение содержимого и прием пользовательского ввода
- Большинство паттернов включают "модель" (M) для управления бизнес-данными.
- "Контроллер", "презентатор" и "представление-модель" - это трансляторы, которые являются посредниками между представлением и моделью ("сущность" в паттерне VIPER).
- Эти трансляторы могут быть достаточно сложными в написании, поэтому были предложены различные паттерны, позволяющие сделать их более удобными в эксплуатации

От себя: имейте в виду, что это не исчерпывающий список архитектурных паттернов. Среди других известных паттернов можно отметить Flux и Redux.

@mobdevelop
👍81
💻 Вопросы для собеседования iOS — Swift.

Шаблон делегирования
Самый важный и частый вопрос на собеседованиях.

Делегирование — это шаблон проектирования, согласно которому при возникновении конкретного события от одного объекта другому отправляются сообщения. На Swift он применяется с помощью Protocol.

Пример шаблона делегирования с Protocol:
// SomeProtocol.swift
protocol SomeProtocol{ //
func modifyTextToLabel(someText: String)
}


Protocol: создан SomeProtocol.swift и добавлен метод для изменения текста на метку ViewController.
// FirstViewController.swift
class FirstViewController: UIViewController{
private lazy var someLabel: UILabel = {
let label = UILabel()
label.frame = CGRect(x: 100, y: 150, width: 100, height: 50)
label.text = "Default"
return label
}()
private lazy var someButton: UIButton = {
let button = UIButton(frame: CGRect(x: 100, y: 200, width: 100, height: 50))
button.setTitle("Press ME!", for: .normal)
button.backgroundColor = .red
button.addTarget(self, action: #selector(handleButtonTapped), for: .touchUpInside)
return button
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
view.addSubview(someLabel)
view.addSubview(someButton)
}
}


ViewController: создан FirstViewController и с помощью «ленивых» переменных добавлены метка и кнопка. То есть инициализация или вычисление отложены до тех пор, пока не понадобятся.
// SecondViewController.swift
class SecondViewController: UIViewController, UITextFieldDelegate {
lazy var someTextField: UITextField = {
let textField = UITextField(frame: CGRect(x: 100, y: 100, width: 100, height: 60))
textField.placeholder = "Enter Text"
textField.keyboardType = .default
return textField
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
view.addSubview(someTextField)
someTextField.delegate = self
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
return true
}
}


ViewController: создан другой ViewController  —  SecondViewController и добавлено текстовое поле для получения пользовательского ввода. someTextField соответствует протоколу UITextFieldDelegate.
class FirstViewController: UIViewController, SomeProtocol {
func modifyTextToLabel(someText: String) {
self.someLabel.text = someText
}
}

FirstViewController соответствует SomeProtocol и унаследовал требования, или методы.
class SecondViewController: UIViewController, UITextFieldDelegate {
weak var delegate: SomeProtocol? // слабая переменная во избежание циклов сохранения

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if textField.hasText {
delegate?.modifyTextToLabel(someText: textField.text ?? "")
navigationController?.popToRootViewController(animated: true)
return true
}
return false
}
}


В ПЕРЕМЕННОЙ «DELEGATE» СОДЕРЖИТСЯ SOMEPROTOCOL, ОНА КАК ДЕЛЕГАТ МЕЖДУ SECONDVIEWCONTROLLER И FIRSTVIEWCONTROLLER. ПРИСВОЕНА СЛАБОЙ ССЫЛКЕ ВО ИЗБЕЖАНИЕ ЦИКЛОВ СОХРАНЕНИЯ.

Здесь modifyTextToLabel  — это метод делегата для передачи данных из SecondViewController в FirstViewController. Поэтому текст этого someLabel в FirstViewController изменится.

А ПОЧЕМУ В PROTOCOL ИСПОЛЬЗУЕТСЯ ANYOBJECT?

Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Добавление прокрутки в симуляторе Xcode!


Приложение для работы со строкой меню, которое добавляет прокрутку.

https://github.com/aheze/Squirrel

#ios

@mobdevelop
👍61🔥1
🔥 Дайджест полезных материалов из мира Мобильной разработки за неделю

Почитать:
Как защитить свою форму верификации от ботов
От Style Transfer до диффузии: эволюция визуальных эффектов на смартфонах
Электронные книги? Аудиокниги? Смешать, но не взбалтывать
Адаптивный дизайн приложений на Gtk
SwiftUI: от сомнений к успешному внедрению
Как интегрировать мультиаккаунт в уже работающий сервис и не поломать всё
Построение графа покрытия UI-тестами бизнес-логики на основе VisualFSM
Что будет с мобильными релизами, если улучшать и автоматизировать процессы
Как зловредные приложения могут скрывать работу с буфером обмена в Android 14
Мобильная разработка за неделю #511 (16 — 22 октября)
Advantages and Disadvantages of Mobile Application Development
Innovating the Music Streaming Landscape: How to Make an App Like Spotify
5 Benefits of Using Mobile Applications in Education
Unlock a new look for your social media profile - Avatarly
Is Qualcomm's New Chip The Ultimate AI Game-Changer?
Hybrid App Development: A Product Manager's Perspective
Implementing Video Streaming Protocols in OTT Apps
UX/UI Design Best Practices for Mobile Apps
The Future of Mobile Application Development with 5G
Version 2.0 of my Android app is Live!!

Посмотреть:
🌐 Q&A стрим. Октябрь 2023 ( 00:00)
🌐 Собираем макет на UIKit кодом. Верстка интерфейса кодом. UIKit/Xcode 2023 ( 01:13:30)
🌐 Пишем программу для iPhone за 20 минут. Swift/UIKit/CoreData 2023 ( 26:41)

Хорошего дня!

@mobdevelop
👍41🔥1
Вопросы для собеседования iOS — Swift. Часть 2

Конкретный тип против абстрактного
В Swift имеются различные типы категорий, включая два фундаментальных понятия: конкретные и абстрактные типы.

Что такое «конкретный тип»?
Конкретный тип непосредственно инстанцируется для создания объектов:
1. Определяются все свойства и методы.
2. Примеры конкретных типов — классы и структуры.

Простой конкретный тип
struct Person {
var name: String
var age: Int
}
let person = Person(name: "John", age: 20)
print("Person name \(person.name) Age \(person.age)")

Конкретный тип с использованием класса
class Employee {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
func empActiveStatus() {
print("Active")
}
}

let employee = Employee(name: "Jones", age: 35)
print("Employe name \(employee.name) Age \(employee.age)")
print("Active Status \(employee.empActiveStatus())")

Что такое «абстрактный тип»?
Это тип, которым определяется набор требований без фактической реализации:
1. Требования относятся к свойствам и методам.
2. Абстрактный тип не инстанцируется напрямую.

protocol Shape {
func area() -> Double
}
struct Circle: Shape {
var radius: Double
func area() -> Double {
return Double.pi * radius * radius
}
}
struct Square: Shape {
var side: Double
func area() -> Double {
return side * side
}
}

let circle = Circle(radius: 5.0)
print("Area of circle: ", circle.area())
let square = Square(side: 5.0)
print("Area of square: ", square.area())


Как получают абстрактный тип?

Продолжение
Часть 1.
👍3🔥31🤡1
Язык Swift для начинающих

1. Знакомство с playground
2. Константы и переменные
3. Типы данных
4. Базовые операторы
5. Действия со строками
6. Оператор ветвления if
7. Инструкция switch
8. Массивы
9. Множества
10. Словари

#video #swift

https://www.youtube.com/watch?v=nSoXuPsnXl0&list=PLtovLaW_R9-N-KECYTUWqQaVtBXhufJfw
👍6🔥1🤡1
🔥 Дайджест полезных материалов из мира Мобильной разработки за неделю

Почитать:
Flutter VS React Native
Стоит ли разработчику идти на завод, как запустить стартап, но вовремя остановиться и другие истории реальных айтишников
«Клиентов нужно не искать, а создавать»: погружение в Telegram API через TDLib
Kotlin Multiplatform перешёл в stable. Что это значит?
Можно ли обойтись без нативных языков, разрабатывая на Flutter и RN?
Как сделать тесты на Espresso более читабельными и стабильными
Как создать интерактивные виджеты на iOS 17
Байт-код — это просто! Как сделать DI по-настоящему быстрым
Flutter. Локальная база данных
Backend Driven UI с точки зрения бэкенда: к чему готовиться, если вы решили на него перейти
How to Test Native Features in Flutter Apps with Patrol and Codemagic
Custom queries AndroidManifest Pada Expo
Tech Stacks used for Android Development
💰Boost your game/app earnings 📱
Unveiling the Proven Strategies for Robust React Native Development
Mobile development
Aumente as Conversões na Black Friday: Estratégia ASO & Ícone Dinâmico no React Native
Moinuddin9777 | Contributor
How to Publish Your Android Mobile App on Google Play Store
Secrets to Build a Million-Dollar App: Start Your Mobile App Journey NOW!

Посмотреть:
🌐 Собеседование с Михаилом Левченко ( 01:46:27)
🌐 Верста На UIKit. Страница Авторизации. Стрим #0 ( 01:56:50)
🌐 Мои приложения за 2 года разработки. Обзор и делюсь полезными советами ( 23:41)

Хорошего дня!
👏4
🔥 Дайджест полезных материалов из мира Мобильной разработки за неделю

Почитать:
Flutter 3.16: что нового
Как сделать автотесты гибкими и лаконичными
Анимация загрузки картинок во Flutter, или как сделать shimmer своими руками
Разрушители легенд: Как на самом деле магазины проверяют приложения на уязвимости
Разделение презентационного слоя фичи на модули в Android приложении
Листаем цифровые страницы: UIPageViewController
Мобильные суперприложения выгодны корпорациям, но это кошмар для простых людей
Простой, но масштабируемый State Management для Flutter
Как подружить JUnit 5 и Robolectric?
Исследование со взломом. Часть 1
Can Humane’s AI Pin Revolutionize The World Of Wearables?
Pranshu Singh
How Grocery Stores Are Benefiting from Mobile Apps🎉
How to Add Content Descriptions in Compose - A Guide for Android Devs
Elevating Your Mobile App Dreams: Expert React Native Development for iOS and Android
Core Data with Table Views Part II
Exploring the Power of Shared Preferences in Flutter Development.
Popular Apps Created Using React Native
Core Data with Table Views Part I
Hire The Best UI/UX Services Company

Посмотреть:
🌐 Как устроен Android в умных колонках Яндекса ( 01:44:50)

Хорошего дня!
👍31🔥1🎉1