Forwarded from Mobile Developer (Алексей Гладков)
ИИ для создания дизайнов
https://www.usegalileo.ai/
Не могу не написать про это (хотя про это уже много где говорили). Одним из способов научиться делать аппки является (шок!) делать эти самые аппки. Но часто людям нужен дизайн, чтобы была некая предметная область что накидать. Другая тема свои пет проекты или стартапы. Раньше я советовал для этого UI8.net, но теперь появился игрок покруче
👉 Это можно попробовать бесплатно
👉 Оно очень хорошо понимает запрос и генерит дизайн просто пушечно
🔥 Экспорт в фигму!!
👉 Можно редактировать каждый экран отдельно и даже докидывать, сохраняя контекст
👉 Можно делать мобильную и десктопную версии
Короче, из всех ИИ это вот точно мастхэв инструмент для любого фронтового разработчика
P.S. За эту рекламу мне никто не заплатил, так что это не реклама, а рекомендация
https://www.usegalileo.ai/
Не могу не написать про это (хотя про это уже много где говорили). Одним из способов научиться делать аппки является (шок!) делать эти самые аппки. Но часто людям нужен дизайн, чтобы была некая предметная область что накидать. Другая тема свои пет проекты или стартапы. Раньше я советовал для этого UI8.net, но теперь появился игрок покруче
👉 Это можно попробовать бесплатно
👉 Оно очень хорошо понимает запрос и генерит дизайн просто пушечно
👉 Можно редактировать каждый экран отдельно и даже докидывать, сохраняя контекст
👉 Можно делать мобильную и десктопную версии
Короче, из всех ИИ это вот точно мастхэв инструмент для любого фронтового разработчика
P.S. За эту рекламу мне никто не заплатил, так что это не реклама, а рекомендация
Please open Telegram to view this post
VIEW IN TELEGRAM
www.usegalileo.ai
Galileo AI
🔥8
Forwarded from iOS Broadcast (Андрей Зонов)
🔴 Приглашаем на практический интенсив «Пишем приложение SwiftUI и SwiftUI + Combine» от OTUS — вторую часть интенсива для начинающих iOS-разработчиков
⏰ Когда: 26 февраля в 20:00 мск
👉 Регистрация на сайте
Интенсив проводится в рамках курса «Специализация iOS Developer». Доступна рассрочка на обучение!
На вебинаре разберём:
1️⃣ Использование SwiftUI + Combine
2️⃣ Работу с данными и хранение
3️⃣ Тестирование приложения
4️⃣ Лучшие практики и советы для разработки с SwiftUI
📌 Если вы пропустили первый день, запись доступна на сайте.
⏰ Когда: 26 февраля в 20:00 мск
👉 Регистрация на сайте
Интенсив проводится в рамках курса «Специализация iOS Developer». Доступна рассрочка на обучение!
На вебинаре разберём:
1️⃣ Использование SwiftUI + Combine
2️⃣ Работу с данными и хранение
3️⃣ Тестирование приложения
4️⃣ Лучшие практики и советы для разработки с SwiftUI
📌 Если вы пропустили первый день, запись доступна на сайте.
❤1👍1
Forwarded from Воробей
Apple представила новый протокол шифрования для 💬 iMessage. Защищает от квантовых компьютеров
Зачем это нужно?
Обычные алгоритмы шифрования взламывают перебором. Чем дольше перебирать - тем лучше алгоритм. Квантовые ребята перебирают быстрее
Все настолько страшно?
Если на взлом нужно 10 лет, то квантовый парень справится за 1.7 секунды. Зависит от алгоритма
🍎 Мой Telegram ненадежный?
Квантовые компьютеры большая редкость и для взлома их еще не использовали. Разработка Apple закрывает потенциальные угрозы
Apple перейдет на новый протокол до 2025 года
Зачем это нужно?
Обычные алгоритмы шифрования взламывают перебором. Чем дольше перебирать - тем лучше алгоритм. Квантовые ребята перебирают быстрее
Все настолько страшно?
Если на взлом нужно 10 лет, то квантовый парень справится за 1.7 секунды. Зависит от алгоритма
Квантовые компьютеры большая редкость и для взлома их еще не использовали. Разработка Apple закрывает потенциальные угрозы
Apple перейдет на новый протокол до 2025 года
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯9🔥4❤1👍1
Forwarded from Воробей
This media is not supported in your browser
VIEW IN TELEGRAM
Осталось что-то решить с комиссиями для альсторов — комиссию платит и магазин, и разработчик. Тут ролик про это
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Провели 2 часть ОУ для старта нашей специализации:
https://www.youtube.com/watch?v=cOA1tSMI8G4
https://www.youtube.com/watch?v=cOA1tSMI8G4
YouTube
Интенсив пишем приложение SwiftUI и SwiftUI + Combine Покажем, как писать приложение. Часть 2
Этот интенсив предназначен для разработчиков, которые хотят изучить и практически применить технологии SwiftUI и SwiftUI + Combine в разработке iOS приложений. Во время интенсива мы погрузимся в мир SwiftUI, узнаем основы разработки с использованием этого…
🔥4
Рассказала, какие технологии актуальны и нужны Android разработчику в 2024 году:
https://tproger.ru/articles/starter-pak-android-razrabotchika--chto-uchit?clckid=2055a7ab
https://tproger.ru/articles/starter-pak-android-razrabotchika--chto-uchit?clckid=2055a7ab
Tproger
Стартер-пак Android-разработчика: что учить
Узнали у middle и senior разработчиков, что нужно учить каждому Android-разработчику, какие фреймворки, библиотеки и инструменты устарели, а какие актуальны.
👍14
Не все так радужно. Тулза кинула мне ошибку 500 при попытке посмотреть сгенерированный код
🤔3
Forwarded from IT и безопасность
This media is not supported in your browser
VIEW IN TELEGRAM
Фронтендеры танцуют
А всё потому, что для Figma вышел плагин Trace. Теперь любой дизайн можно легко и бесплатно превратить в полноценные приложения на SwiftUI.
Отличное начало весны в мире разработки. Идём пробовать!
А всё потому, что для Figma вышел плагин Trace. Теперь любой дизайн можно легко и бесплатно превратить в полноценные приложения на SwiftUI.
Отличное начало весны в мире разработки. Идём пробовать!
Все такие противоречивые Apple вроде как передумали на предмет PWA
Forwarded from Воробей
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤣1
Продолжение эпопеи с PWA:
1. Ранее Apple объяснила, что ей придется создать «совершенно новую интеграционную архитектуру, которой сейчас нет в iOS», чтобы решить «сложные проблемы безопасности и конфиденциальности, связанные с PWA-приложениями, использующими альтернативные браузерные движки».
2. Сегодняшним заявлением Apple изменила свой курс и сообщила, что веб-приложения продолжат существовать в Европейском союзе в том виде, в котором они существовали до версии iOS 17.4.
3. Независимо от того, добавлено ли веб-приложение с помощью Safari или нет, PWA будут работать только на WebKit.
https://apptractor.ru/develop/apple-podtverdila-prekraschenie-raboty-pwa-v-evrope.html
Нас, конечно, больше интересует история про альтернативный стор и коллаборация с нашим МЦ. Но прецедент с PWA в ЕС мог распространиться и на другие регионы
1. Ранее Apple объяснила, что ей придется создать «совершенно новую интеграционную архитектуру, которой сейчас нет в iOS», чтобы решить «сложные проблемы безопасности и конфиденциальности, связанные с PWA-приложениями, использующими альтернативные браузерные движки».
2. Сегодняшним заявлением Apple изменила свой курс и сообщила, что веб-приложения продолжат существовать в Европейском союзе в том виде, в котором они существовали до версии iOS 17.4.
3. Независимо от того, добавлено ли веб-приложение с помощью Safari или нет, PWA будут работать только на WebKit.
https://apptractor.ru/develop/apple-podtverdila-prekraschenie-raboty-pwa-v-evrope.html
Нас, конечно, больше интересует история про альтернативный стор и коллаборация с нашим МЦ. Но прецедент с PWA в ЕС мог распространиться и на другие регионы
AppTractor
Apple подтвердила прекращение работы PWA в Европе
В обновлении компания объясняет, как ей пришлось внести столько изменений в iOS, чтобы соответствовать требованиям ЕС, что дальнейшая поддержка PWA оказалась просто невозможной.
🤔1
В прошлом октябре побывала на DevFest. Первый день - трек "Авроры", второй день - вела трек iOS, третий - выступала на треке андроид. Отличное мероприятие, атмосферный город (исторический центр Омска - must для посещения)
В этом году организаторы решили сменить формат и организовать общий трек. Пишите в комментариях направления, который вам интересны
В этом году организаторы решили сменить формат и организовать общий трек. Пишите в комментариях направления, который вам интересны
🔥3👍1
Forwarded from ДевФест
Участники сами выбирают, какой трек пройдёт на DevFest Omsk 2024 🔥
В этом году мы решили собрать community track. Что это значит?
В комментариях вы можете написать те треки, которые вы бы точно посетили на конференции. Через какое-то время мы отберём популярные варианты и сделаем опрос — тема, которая наберёт больше всего голосов, будет представлена на DevFest Omsk 2024!
Вы можете распространять этот пост по вашим чатам и призывать указать интересный трек. Важно — лучше указывать конкретное направление разработки, например, вместо «мобильной разработки» нужно выбрать iOS, Android и так далее.
P. s. Мы обновили сайт! Переходите по ссылке :) Там уже можно увидеть список других утверждённых треков.
В этом году мы решили собрать community track. Что это значит?
В комментариях вы можете написать те треки, которые вы бы точно посетили на конференции. Через какое-то время мы отберём популярные варианты и сделаем опрос — тема, которая наберёт больше всего голосов, будет представлена на DevFest Omsk 2024!
Вы можете распространять этот пост по вашим чатам и призывать указать интересный трек. Важно — лучше указывать конкретное направление разработки, например, вместо «мобильной разработки» нужно выбрать iOS, Android и так далее.
P. s. Мы обновили сайт! Переходите по ссылке :) Там уже можно увидеть список других утверждённых треков.
#swift Вышел Swift 5.10 https://www.swift.org/blog/swift-5.10-released/. Очень большое внимание уделено доработкам по многопоточности:
1. Поддержка полной диагностики корректности реализации работы с concurrency через сборку с флагом -strict-concurrency=complete
Например, этот фрагмент кода в Swift 5.9 будет считаться корректным, хотя и содержит нарушения доступа к ресурсу (data races)
Для Swift 5.10 проблема будет обозначена:
Конкретную ситуацию можно исправить разными способами:
- сделать обращение к MyModel.shared через await
- сделать MyModel.init и MyModel.shared неизолированными, весь код, которому нужен актор, перенести в изолированный метод
- изолировать useShared в @MainActor
2 Новая nonisolated(unsafe) команда для отключения проверки изоляции хранимых свойств и переменных акторов, включая статики
1. Поддержка полной диагностики корректности реализации работы с concurrency через сборку с флагом -strict-concurrency=complete
Например, этот фрагмент кода в Swift 5.9 будет считаться корректным, хотя и содержит нарушения доступа к ресурсу (data races)
@MainActor
class MyModel {
private init() {
MainActor.assertIsolated()
}
static let shared = MyModel()
}
func useShared() async {
let model = MyModel.shared
}
await useShared()
Для Swift 5.10 проблема будет обозначена:
warning: expression is 'async' but is not marked with 'await'
let model = MyModel.shared
^~~~~~~~~~~~~~
await
Конкретную ситуацию можно исправить разными способами:
- сделать обращение к MyModel.shared через await
- сделать MyModel.init и MyModel.shared неизолированными, весь код, которому нужен актор, перенести в изолированный метод
- изолировать useShared в @MainActor
2 Новая nonisolated(unsafe) команда для отключения проверки изоляции хранимых свойств и переменных акторов, включая статики
Swift.org
Swift 5.10 Released
Swift was designed to be safe by default, preventing entire categories of programming mistakes at compile time. Sources of undefined behavior in C-based languages, such as using variables before they’re initialized or a use-after-free, are defined away in…
👍2
В целом, в Swift 5.10 были реализованы следующие фичи:
SE-0327: On Actors and Initialization
SE-0383: Deprecate @UIApplicationMain and @NSApplicationMain - меняем теперь на @main
SE-0404: Allow Protocols to be Nested in Non-Generic Contexts - поддержка вложенных протоколов в необобщенном контексте
SE-0411: Isolated default value expressions
SE-0412: Strict concurrency for global variables
SE-0327: On Actors and Initialization
SE-0383: Deprecate @UIApplicationMain and @NSApplicationMain - меняем теперь на @main
SE-0404: Allow Protocols to be Nested in Non-Generic Contexts - поддержка вложенных протоколов в необобщенном контексте
SE-0411: Isolated default value expressions
SE-0412: Strict concurrency for global variables
15 марта анонсирована срезка версии 6.0. https://forums.swift.org/t/swift-6-0-release-process/70220
В Swift 6.0 уже реализованые следующие фичи:
1 SE-0422Expression macro as caller-side default argument
Использование макросов как аргументов по умолчанию в функциях
2 SE-0421Generalize effect polymorphism for AsyncSequence and AsyncIteratorProtocol
Обобщение полиморфизма AsyncSequence и AsyncIteratorProtocol. Добавляется новый ассоциированный тип Failure, поддержка параметров Element и Failure добавляется к методам, например, next()
3. SE-0420Inheritance of actor isolation
Наследование изоляции акторов
#isolated аргументы могут поддерживать опциональный тип
Аргумент по умолчанию #isolated:
4. SE-0418Inferring Sendable for methods and key path literals
Применение Sendable к методам (включая частичные и неимплементированные) и key-path литералам
5. SE-0416Subtyping for keypath literals as functions
Преобразование key-path литералов как функций
Например
В Swift 6.0 уже реализованые следующие фичи:
1 SE-0422Expression macro as caller-side default argument
Использование макросов как аргументов по умолчанию в функциях
// in MyLibrary.swift =======
@freestanding(expression)
macro MyFileID<T: ExpressibleByStringLiteral>() -> T = ...
public func callSiteFile(_ file: String = #MyFileID) { file }
public func declarationSiteFile(_ file: String = (#MyFileID)) { file }
public func alsoDeclarationSiteFile(
file: String = callSiteFile(#MyFileID)
) { file }
// in main.swift ============
print(callSiteFile()) // print main.swift, the current file
print(declarationSiteFile()) // always prints MyLibrary.swift
print(alsoDeclarationSiteFile()) // always prints MyLibrary.swift
2 SE-0421Generalize effect polymorphism for AsyncSequence and AsyncIteratorProtocol
Обобщение полиморфизма AsyncSequence и AsyncIteratorProtocol. Добавляется новый ассоциированный тип Failure, поддержка параметров Element и Failure добавляется к методам, например, next()
@available(SwiftStdlib 5.1, *)
protocol AsyncIteratorProtocol<Element, Failure> {
associatedtype Element
mutating func next() async throws -> Element?
@available(SwiftStdlib 6.0, *)
associatedtype Failure: Error = any Error
@available(SwiftStdlib 6.0, *)
mutating func next(isolation actor: isolated (any Actor)?) async throws(Failure) -> Element?
}
@available(SwiftStdlib 5.1, *)
public protocol AsyncSequence<Element, Failure> {
associatedtype AsyncIterator: AsyncIteratorProtocol
associatedtype Element where AsyncIterator.Element == Element
@available(SwiftStdlib 6.0, *)
associatedtype Failure = AsyncIterator.Failure where AsyncIterator.Failure == Failure
func makeAsyncIterator() -> AsyncIterator
}
3. SE-0420Inheritance of actor isolation
Наследование изоляции акторов
#isolated аргументы могут поддерживать опциональный тип
Аргумент по умолчанию #isolated:
extension AsyncIteratorProtocol {
func next(isolation: isolated (any Actor)? = #isolation) async -> Element {
...
}
}
4. SE-0418Inferring Sendable for methods and key path literals
Применение Sendable к методам (включая частичные и неимплементированные) и key-path литералам
5. SE-0416Subtyping for keypath literals as functions
Преобразование key-path литералов как функций
Например
// You write this:
let f: (User) -> String? = \User.email
// The compiler generates something like this:
let f: (User) -> String? = { kp in { root in root[keyPath: kp] } }(\User.email)
GitHub
swift-evolution/proposals/0422-caller-side-default-argument-macro-expression.md at main · swiftlang/swift-evolution
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swiftlang/swift-evolution
6 SE-0410Low-Level Atomic Operations ⚛︎
Низкоуровневые атомарные операции
7 SE-0408Pack Iteration
Пакетные итерации.
8 SE-0405String Initializers with Encoding Validation
Инициализация строк с проверкой кодировки.
9 SE-0270Add Collection Operations on Noncontiguous Elements
Добавление операций коллекций для несмежных элементов.
Низкоуровневые атомарные операции
7 SE-0408Pack Iteration
Пакетные итерации.
func iterate<each Element>(over element: repeat each Element) {
for element in repeat each element {
}
}
8 SE-0405String Initializers with Encoding Validation
Инициализация строк с проверкой кодировки.
extension String {
public init?<Encoding: Unicode.Encoding>(
validating codeUnits: some Sequence<Encoding.CodeUnit>,
as: Encoding.Type
)
}
9 SE-0270Add Collection Operations on Noncontiguous Elements
Добавление операций коллекций для несмежных элементов.
var numbers = Array(1...15)
// Find the indices of all the even numbers
let indicesOfEvens = numbers.indices(where: { $0.isMultiple(of: 2) })
// Perform an operation with just the even numbers
let sumOfEvens = numbers[indicesOfEvens].reduce(0, +)
// sumOfEvens == 56
// You can gather the even numbers at the beginning
let rangeOfEvens = numbers.moveSubranges(indicesOfEvens, to: numbers.startIndex)
// numbers == [2, 4, 6, 8, 10, 12, 14, 1, 3, 5, 7, 9, 11, 13, 15]
// numbers[rangeOfEvens] == [2, 4, 6, 8, 10, 12, 14]
GitHub
swift-evolution/proposals/0410-atomics.md at main · swiftlang/swift-evolution
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swiftlang/swift-evolution
Forwarded from iOS Такой 🍏
Please open Telegram to view this post
VIEW IN TELEGRAM