Estou usando demais o plug-in de mapeamento do Knockout usando-o sempre para fazer meu modelo de exibição?

Ainda estou aprendendo o uso adequado do Knockout e me vi rapidamente me esquecendo de digitarko.observable ao configurar meu viewmodel e apenas definir um literal de objeto e transmiti-lo pelo plug-in de mapeamento com algo como

var viewModel = ko.mapping.fromJS(data);

ou, no mínimo, algo como incluir todos os meus dados em um atributo no viewModel assim

var viewModel = { 
    ... events etc ... , 
    "data": ko.mapping.fromJS(data)
}

Para ser sincero, a principal razão pela qual faço isso é evitar digitarko.observable eko.observableArray repetitivamente. Estou apenas tentando descobrir se essa é uma boa abordagem e se há alguma desvantagem em abandonar o @ específivar x = ko.observable() declaração todos juntos. Além disso, estou fazendo isso tudo em carga, não em resposta a qualquer chamada de ajax, etc., e pelo que sei, é para isso que o plug-in de mapeamento foi projetad

No seu trabalho com nocaute, você ainda declara os observáveis manualmente, um por um, ou seguiu o método mapping.fromJS que eu uso? Existem desvantagens específicas no uso do plug-in de mapeamento com tanta frequência assim?

Editar

Exemplo específico

Neste artig, Steve configura seu viewModel fazendo

var initialData = [ { ... } , { ... } ]; // json from the serializer
var viewModel = {
    gifts : ko.observableArray(initialData)
};

Normalmente, eu usariako.mapping.fromJS também para esta situação, especificamente para garantir que os objetos na matriz também sejam observáveis. Olhando para o que ele fez, minha abordagem parece um exagero e acrescenta um pouco de sobrecarga desnecessári

questionAnswers(4)

yourAnswerToTheQuestion