Каковы плюсы и минусы использования AppCelerator по сравнению с Objective-C

Для многомерных массивов это немного сложнее. Часто люди определяют явные макроконстанты, т. Е.

#define g_rgDialogRows   2
#define g_rgDialogCols   7

static char const* g_rgDialog[g_rgDialogRows][g_rgDialogCols] =
{
    { " ",  " ",    " ",    " 494", " 210", " Generic Sample Dialog", " " },
    { " 1", " 330", " 174", " 88",  " ",    " OK",        " " },
};

. Но эти константы могут быть вычислены и во время компиляции с помощью sizeof :

#define rows_of_array(name)       \
    (sizeof(name   ) / sizeof(name[0][0]) / columns_of_array(name))
#define columns_of_array(name)    \
    (sizeof(name[0]) / sizeof(name[0][0]))

static char* g_rgDialog[][7] = { /* ... */ };

assert(   rows_of_array(g_rgDialog) == 2);
assert(columns_of_array(g_rgDialog) == 7);

Примечание что этот код работает на C и C ++. Для массивов с более чем двумя измерениями используйте

sizeof(name[0][0][0])
sizeof(name[0][0][0][0])

и т. Д., Ad infinitum.

1
задан user333639 20 May 2010 в 13:27
поделиться

2 ответа

Минусы: Я предполагаю, что Appcelerator попадает под недавние ограничения Apple по лицензированию разработчиков - вы не можете разрабатывать приложения через сторонние системы.

1
ответ дан 3 September 2019 в 00:25
поделиться

Objective C, вероятно, является более многословным и низкоуровневым подходом, вы можете рассматривать это как хорошо или плохо. Appcelerator позволяет вам разрабатывать на Javascript, что является более простым синтаксисом. Objective C нацелен только на iPhone, с Appcelerator та же кодовая база позволит создать приложение, которое будет работать и на Android, или почти так же.

Вопросы лицензирования с Apple, похоже, на данный момент решены, однако, поскольку Редмонд таков, каков он есть, кто знает, что принесет будущее.

0
ответ дан 3 September 2019 в 00:25
поделиться