308 messaggi dal 08 gennaio 2011
Ciao a tutti, vorrei un aiuto a capire, se possibile, come mai per il salvataggio e il ripristino dello stato di un'app, l'onere è a carico dello sviluppatore.

Come si sa, in Windows 8, è possibile spostarsi o navigare tra applicazioni, senza che l'utente debba preoccuparsi di chiudere e riaprire le applicazioni. Per rendere possibile questa esperienza, il sistema operativo può terminare un'app che, diciamo così, perde il focus, per poi ripristinarla esattamente al punto in cui è stata lasciata, dando l'impressione all'utente che l'app è rimasta sempre viva.

Io sviluppatore, deve aggiungere codice che salva e ripristina lo stato. Dato che Windows sa tutto dell'app quindi anche la memoria ad essa assegnata, perché insieme alle azioni di sospensione terminazione e ripresa non sono state aggiunte anche procedure di salvataggio e ripristino dello stato ?

Sarà la stessa cosa anche in Windows 10 ?

Grazie.
Modificato da Mario Formosa il 08 luglio 2015 09.15 -
2.190 messaggi dal 04 marzo 2004
Contributi | Blog
Ciao,
la tua domanda e' interessante e ho due (sintetiche) risposte: l'obiettivo del tombstoning e del ciclo di vita di un'app cosi implementato e' risparmiare risorse del device in termini di memoria, CPU e consumo della batteria per mantenere il sistema operativo il piu' reattivo possibile.
Quindi in questo ciclo di vita il sistema e' resposabile della consistenza delle app ma il meno possibile del loro contenuto, che e' demandato allo sviluppatore.

MS ci mette a disposizione la piattaforma e un framework di sviluppo, il cui obiettivo e' quello di dare la piu' ampia serie di strumenti per costruire app. Nel contesto della precedente risposta, la gestione dello stato dell'app è demandato allo sviluppatore e il framework ci mette a disposizione gli strumenti per farlo (eventi, storage locale, ecc..).

Più in generale, trasversalmente ad altri framework, potresti affrontare questo genere di domande con la risposta che MS era in grado di fare -tutto- ma l'obiettivo di un framework è creare uno strato minimo di comunicazione tra -utente e macchina-, dando ad altri l'alfabeto con cui far costruire ad altri il proprio business con la propria app.

E' capitato che abbiamo trovato nei framework, SDK e Toolkit dei controls più spinti, più ricchi di funzionalità che avremmo potuto sviluppare anche in proprio vero, ma che MS ha deciso di inserire nella propria serie di strumenti dopo aver valutato una utilità generale per il mondo degli sviluppatori e anche per valorizzare la piattaforma stessa. Ti posso citare PivotViewer, DeepZoom per Silverlight, ma anche LightSwitch o addirittura lo stesso SharePoint! :)

Inoltre il mondo adesso è realmente cambiato, quindi ora più che mai le big software house sono resposabili del core dei loro framework e lasceranno a noi, alle community open source, lo sviluppo e la crescita di tutti quanto ci è necessario per sviluppare il nostro business, se non l'hai già fatto butta un occhio alla nuova versione del framework e se vuoi un'idea ancora più ampia a tutto il mondo Java, che funziona cosi da anni, nel bene e nel male :)

Alessio Leoncini (WinRTItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer
308 messaggi dal 08 gennaio 2011
Ciao, ti ringrazio della risposta che però non mi convince del tutto sull'aspetto particolare del salvataggio e ripristino dello stato.

Sono d'accordo sul fatto che è meglio che lo sviluppatore sia il più libero possibile da 'imposizioni sistematiche' , però, sempre relativamente alla gestione dello stato, non capisco dov'è e a che serve questa libertà visto che si è tenuti a compiere una attività di routine.

Inoltre, se non sbaglio, questa gestione dello stato usa la serializzazione che dovrebbe comportare un aggravio di elaborazione da parte di cpu e s.o., rispetto ad esempio ad un salvataggio e ripristino di dati binari.

Non lo so, la cosa ancora non la vedo chiara.

Grazie.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.