Pull to refresh

Comments 11

Глянул пример.
Я правильно понял, что UI для iOS всё равно придётся писать самому, но только уже на Java + всякие хелперы типа аннотации?
Вы правильно поняли! Но кода будет не больше, чем при использовании Objective-C.
Вот сравните код на ObjC:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"showDetail"]) {
        NSIndexPath *selectedIndexPath = [self.tableView 
            indexPathForSelectedRow];
        // Set data
        ...
    }

и Java:
@Override
public void prepareForSegueSender(UIStoryboardSegue segue, NSObject sender) {
    if (segue.getIdentifier().toString().equals("showDetail")) {
        NSIndexPath selectedIndexPath = getTableView().
            indexPathForSelectedRow();
        // Set data
        ...
    }
}

Ну смотрите как получается.
Скажем для «раздельной» разработки нужно 1 Андроид разраб и 1 iOS.
1) В вашем случае получается, что всё равно нужен 1 Андроид разраб + нужен разработчик со знанием сразу и Java(Android) и iOS SDK. Т.е. всё равно 2 человека надо.
2) Будет ли меньше багов и упростится ли поддержка кода? Во-первых, вы сами пишете про платформенно-независимый код, что
эта величина может достигать 60%
Т.е. я предполагаю, что помимо двух отдельных UI будет ещё и зависимый код под платформу + общую часть также нужно будет архитектурно создавать сразу независимой от платформы(что в целом хорошо, но может быть сложнее).

Вероятно, такая схема работы хорошо пойдёт, когда в приложении много сложной постоянной меняющейся логики, которая сдобрена небольшим кол-вом UI.
Подскажите пожалуйста, есть ли возможность подключить сторонний фреймворк к iOS части? Допустим тот же AFNetworking? Или придется сначала портировать его на java?
Такая возможность есть. Но пока мы не включаем в поставку генератор Java-байндингов для сторонних нативных библиотек. Это произойдет в одном из следующих релизов.
60%?

Теперь для проекта надо 160% явиста и 40% айосника. Плюс полтора землекопа чтобы биндить java к objectC :)
Linux поддержки пока действительно нет, но может появиться. Всё зависит от интереса пользователей!
Sign up to leave a comment.