tgoop.com »
United States »
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck » Telegram Web
Если вы хотите стать профессионалом в создании мобильных приложений, курсы iOS-разработчика — это отличный старт для вашего карьерного пути. Осваивая Swift, Objective-C и другие ключевые технологии, вы сможете разрабатывать качественные и эффективные приложения для платформы iOS.
Эти курсы предлагают не только теорию, но и практические задания, которые помогут вам быстро овладеть необходимыми навыками и приступить к реальным проектам.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2😢1
Ключ
-u
(полный вариант --set-upstream
) создаёт в удалённом репозитории ветку, соответствующую локальной и связывает их.Пример:
git push -u origin master
Эта команда используется для отправки закоммиченных файлов в удаленный репозиторий (также известный как GitHub) в указанной ветке.
Используйте эту команду, когда вы впервые отправляете файлы в удаленный репозиторий. Он зафиксирует место, куда вы отправляете эти файлы. И в следующий раз можно будет использовать команду git push.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Чтобы ваше приложение работало быстро и без лагов, проверьте выполнение этих пунктов:
Как оценить результат? Измерьте до и после:
– Время запуска приложения
– Потребление памяти (Android Studio Profiler, Xcode Instruments)
– Размер APK/IPA
– Скорость отклика интерфейса
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Вчера JetBrains официально объявили о выходе CMP 1.8.0, c которой поддержка iOS переходит в статус stable. Это важный этап, поскольку теперь CMP можно всерьез рассматривать как основу для кроссплатформенной мобильной разработки.
В этой статье автор знакомит с обновлением и рассматривает заявленные фишки, а заодно говорит о результатах опытов с CMP на «боевом» проекте.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥4🥱3👍2
Собрали лучшее о мобильной разработке. Включаем и смотрим по пути на работу.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Месяцы поиска работы и ноль офферов? Возможно, ты сам саботируешь свой успех. Рассказываем о пяти распространенных ошибках, которые мешают программистам найти работу мечты.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🤩1🌚1
В этом споре активно участвуют как простые пользователи, так и профессиональные разработчики. Если для первых дело скорее в привычках, удобстве и личных предпочтениях, то вторые приводят серьёзные аргументы в пользу любимых интернет-обозревателей.
Каждый браузер имеет свои козыри: Chrome — бешеную популярность и интеграцию с Google-сервисами, Firefox — открытый исходный код и приватность, Opera — встроенные фишки для разработчиков.
А где же истина? Какой браузер предпочитаете вы? Голосуйте и пишите своё мнение в комментариях
❤️ — Chrome
👍 — FireFox
👏 — Opera
🌚 — другие
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚22👍19❤15👏4
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Рассмотрим этот фрагмент кода, который пытается получить цвет темы из локального хранилища устройства iOS:
var color = UserDefaults.standard.string(forKey: "themeColor")!
print(color)
Ответ:
Первая строка извлекает цвет темы из user defaults. Этот метод, однако, возвращает optional (поскольку themeColor может быть не определен). Если ключ не найден, возвращается nil, что приводит к крашу:
fatal error: unexpectedly found nil while unwrapping an Optional value
Это происходит потому, что в первой строке используется ! для force unwrap optional, которое теперь nil. Force unwrapping должно использоваться только тогда, когда вы на 100% уверены, что значение не nil.
Чтобы исправить это, вы можете использовать optional binding для проверки, найдено ли значение для ключа:
if let color = defaults.stringForKey("themeColor") { print(color)}
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🤔2🌚2
Java / Kotlin разработчик (Software Engineer) — до 450 000 ₽, гибрид (Москва)
Junior iOS developer/Младший iOS разработчик — до 150 000 ₽, гибрид (Москва)
iOS разработчик — до 450 000 ₽, гибрид (Москва, Санкт-Петербург)
Android-разработчик — от 150 000 ₽, офис (Москва, Санкт-Петербург)
Android Developer — от 4 500 до 5 500 €, удалёнка
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
1. Получение типа класса через функцию
::class
Функция
::class
возвращает объект KClass
, который содержит информацию о типе класса во время выполнения.class Person(val name: String, val age: Int)
fun main() {
val person = Person("John", 30)
println(person::class) // выводит "class Person"
}
2. Получение типа класса через функцию
javaClass
Функция
javaClass
возвращает объект Class
, который содержит информацию о типе класса во время выполнения.class Person(val name: String, val age: Int)
fun main() {
val person = Person("John", 30)
println(person.javaClass) // выводит "class Person"
}
3. Получение типа класса через функцию
::class.java
Вызов функции
::class.java
на объекте типа KClass
возвращает объект Class
, который содержит информацию о типе класса во время выполнения.class Person(val name: String, val age: Int)
fun main() {
val person = Person("John", 30)
println(person::class.java) // выводит "class Person"
}
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱7👍4❤1
Kotlin давно перерос статус языка «только для Android». Благодаря технологии Kotlin Multiplatform (KMP), он позволяет создавать приложения, которые работают на JVM, iOS, macOS, вебе и других платформах, сохраняя единый код бизнес-логики.
В статье — без лишнего пафоса о том, как устроена архитектура KMP, чем она отличается от Flutter и React Native, как работает сборка, где границы общего и платформенного кода и почему это решение подходит командам, стремящимся к эффективности без компромиссов.
#cвежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
Проблема: Долгая загрузка данных, лишние запросы и падение приложения при плохом интернете.
Используйте
Room
(Android) или CoreData
(iOS) для локального хранения:// Android + Kotlin
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getUsers(): Flow<List<User>>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun saveUsers(users: List<User>)
}
// iOS + Swift
func saveUsers(_ users: [User]) {
let context = persistentContainer.viewContext
users.forEach { user in
let entity = UserEntity(context: context)
entity.id = user.id
entity.name = user.name
}
try? context.save()
}
Делите данные на страницы:
// iOS
func fetchWithRetry(maxAttempts: Int = 3) async throws -> Data {
for attempt in 1...maxAttempts {
do {
return try await fetchData()
} catch {
if attempt == maxAttempts { throw error }
try await Task.sleep(nanoseconds: 1_000_000_000 * UInt64(attempt))
}
}
fatalError("Unreachable")
}
// Android + OkHttp
val client = OkHttpClient.Builder()
.cache(Cache(cacheDir, 10 * 1024 * 1024)) // 10 MB
.build()
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
Запутались в настройке Firebase для Android/iOS? Используйте этот промпт, чтобы быстро разобраться с типовыми задачами и избежать распространённых ошибок:
Provide a step-by-step guide for setting up Firebase in a mobile
1. Initial setup for Android/iOS
2. Typical configuration mistakes and how to avoid them
3. Best practices for structuring Firestore/Firebase Auth
4. Performance optimization tips
–
Suggest solutions for common Firebase authentication errors
(если столкнулись с проблемами логина)–
Compare Realtime Database vs Firestore for a chat app
(если выбираете базу данных)–
Provide code samples for offline mode implementation
(для работы без интернета)Добавьте
Explain like I'm a junior developer
, если нужно максимально простое объяснение.А как вы настраиваете Firebase? Делитесь лайфхаками в комментариях
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2😁1
Каждый разработчик мечтает попасть в топовую компанию или работать над крутым проектом. Но как пройти этот путь от первых строчек кода до оффера мечты?
Расскажите свою историю в комментариях:
– О какой работе вы мечтали?
– Как готовились к собеседованиям?
– С какими трудностями столкнулись?
– Что в итоге помогло получить оффер?
А вот вдохновляющая история от нашего подписчика:
Я годами хотел попасть в команду мобильной разработки крупного fintech-стартапа. После сотни прочитанных статей и десятка пет-проектов я наконец получил собеседование. На техническом этапе я запаниковал и забыл, как работает LiveData в Android. Но честно признался: «Сейчас не помню, но я разберусь и пришлю ответ позже». Каково же было удивление, когда мне сказали, что честность и желание учиться — именно то, что они искали! Теперь я тут работаю.
Ваш опыт важен — делитесь историями и вдохновляйте других
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9
Если вы начинали автоматизировать UI-тесты под iOS, то наверняка заметили, что информации по фреймворку XCUITest в сети не так много, особенно на русском языке.
Эта статья — краткое руководство по основам автоматизации на XCUITest. Здесь автор постарался собрать ключевые моменты, которые помогут вам сделать первые шаги в тестировании iOS-приложений.
#cвежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2😁2🔥1
🚨 Смешные новости про IT теперь в одном канале
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции