top

  Info

  • Utilizzare la checkbox di selezione a fianco di ciascun documento per attivare le funzionalità di stampa, invio email, download nei formati disponibili del (i) record.

  Info

  • Utilizzare questo link per rimuovere la selezione effettuata.
Designing platform independent mobile apps and services / / Rocky Heckman
Designing platform independent mobile apps and services / / Rocky Heckman
Autore Heckman Rocky
Pubbl/distr/stampa Hoboken, New Jersey : , : John Wiley & Sons, Inc., , [2016]
Descrizione fisica 1 online resource (265 p.)
Disciplina 005.25
Soggetto topico Mobile computing
Cell phones - Programming
Mobile apps
ISBN 1-119-06015-X
1-119-06018-4
1-119-06040-0
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto -- LIST OF FIGURES xi -- LIST OF TABLES xiii -- PREFACE xv -- ACKNOWLEDGMENTS xvii -- CHAPTER 1 THE MOBILE LANDSCAPE 1 -- 1.1 Introduction 1 -- 1.2 Previous Attempts at Cross-Platform 2 -- 1.2.1 Java 2 -- 1.2.2 Early Web Apps 5 -- 1.2.3 Multiple Codebases 7 -- 1.3 Breadth Versus Depth 9 -- 1.4 The Multi-Platform Targets 10 -- 1.4.1 Traditional 10 -- 1.4.2 Mobile 11 -- 1.4.3 Wearables 12 -- 1.4.4 Embedded 13 -- CHAPTER 2 PLATFORM-INDEPENDENT DEVELOPMENT TECHNOLOGIES 15 -- The Golden Rule 15 -- 2.1 Vendor Lock-In 16 -- 2.2 Recommended Standards and Guidelines 18 -- 2.2.1 Respecting the Device 18 -- 2.2.2 Respecting the Network 19 -- 2.2.3 Communication Protocols 21 -- 2.2.4 Data Formats 31 -- 2.2.5 Mobile User Experience Guidelines 40 -- 2.2.6 Authentication 45 -- 2.2.7 Dealing with Offline and Partially Connected Devices 47 -- 2.3 Wrapping Up 63 -- CHAPTER 3 PLATFORM-INDEPENDENT DEVELOPMENT STRATEGY 64 -- 3.1 High-Level App Development Flow 64 -- 3.2 Five-Layer Architecture 65 -- 3.3 Five-Layer Architecture Detail 66 -- 3.3.1 The User Interface Layer 66 -- 3.3.2 The Service Interface Layer 68 -- 3.3.3 The Service Layer 69 -- 3.3.4 The Data Abstraction Layer 70 -- 3.3.5 The Data Layer 70 -- CHAPTER 4 THE USER INTERFACE LAYER 72 -- 4.1 Porting Versus Wrapping 72 -- 4.2 Multi-Client Development Tools 73 -- 4.2.1 PhoneGap (http://phonegap.com/) 73 -- 4.2.2 Xamarin (http://xamarin.com/) 74 -- 4.2.3 Unity (http://www.unity3d.com) 75 -- 4.2.4 Visual Studio 76 -- 4.3 Cross-Platform Languages 76 -- 4.4 Avoid Writing for the Least Common Denominator 77 -- 4.5 Wrapping Up 78 -- CHAPTER 5 THE SERVICE INTERFACE LAYER 79 -- 5.1 Message Processing 79 -- 5.1.1 Push versus Pull 80 -- 5.1.2 Partially Connected Scenarios 81 -- 5.2 Message Processing Patterns 82 -- 5.3 High-Volume Messaging Patterns 85 -- 5.3.1 Queue Services and Microsoft Azure Event Hubs 86 -- 5.3.2 Web Sockets 89.
5.4 High-Volume Push Notifications 91 -- 5.4.1 Third Party Notification Hubs 93 -- 5.5 Message Translation and Routing 97 -- 5.5.1 Message Translation 97 -- 5.5.2 Message Routing 103 -- 5.5.3 Handling Large Amounts of Data 108 -- 5.6 Wrapping Up 111 -- CHAPTER 6 THE SERVICE LAYER 114 -- 6.1 Thinking in Nodes 114 -- 6.1.1 Scale Out and Scale Up 114 -- 6.1.2 Scale Out versus Scale Up 114 -- 6.2 Planning for Horizontal Scaling 117 -- 6.2.1 Node Sizing 117 -- 6.2.2 Statelessness 120 -- 6.3 Designing Service Layers for Mobile Computing 121 -- 6.3.1 Service Componentization 122 -- 6.4 Implementation Abstraction 124 -- 6.4.1 Service Interface Abstraction 124 -- 6.5 Using CQRS/ES for Service Implementation 127 -- 6.5.1 CQRS Overview 127 -- 6.5.2 Why CQRS 129 -- 6.5.3 Being Able to Separate Data Models 129 -- 6.5.4 Aggregates and Bounded Contexts 131 -- 6.5.5 The Read and Write Sides 132 -- 6.5.6 CQRS Communications 132 -- 6.6 Side by Side Multi-Versioning 140 -- 6.7 Service Agility 141 -- 6.8 Consumer, Business, and Partner Services 141 -- 6.9 Portable and Modular Service Architectures 142 -- 6.9.1 Designing Pluggable Services 145 -- 6.9.2 Swapping Services 147 -- 6.9.3 Deployment and Hosting Strategies 151 -- 6.10 Wrapping up 152 -- CHAPTER 7 THE DATA ABSTRACTION LAYER 154 -- 7.1 Objects to Data 154 -- 7.2 Using the DAL with External Services 157 -- 7.3 Components of a DAL 159 -- 7.3.1 Data Mapper 160 -- 7.3.2 Query Mapper 161 -- 7.3.3 Repository 166 -- 7.3.4 Serializers 168 -- 7.3.5 Storage Consideration 169 -- 7.3.6 Cache 172 -- 7.4 Wrapping Up 174 -- CHAPTER 8 THE DATA LAYER 176 -- 8.1 Overview 177 -- 8.2 Business Rules in the Data Layer 178 -- 8.3 Relational Databases 178 -- 8.4 NoSQL Databases 181 -- 8.4.1 Key Value Database 183 -- 8.4.2 Document Database 186 -- 8.4.3 Column Family Databases 189 -- 8.4.4 Graph Database 194 -- 8.4.5 How to Choose? 197 -- 8.5 File Storage 197 -- 8.6 Blended Approach 200 -- 8.6.1 The Polyglot Data Layer 201 -- 8.7 Wrapping up 203 -- CHAPTER 9 STRATEGIES FOR ONGOING IMPROVEMENT 204.
9.1 Feature Expansion 204 -- 9.1.1 User Interface 206 -- 9.1.2 Service Interface Layer 206 -- 9.1.3 Service Layer 206 -- 9.1.4 Data Abstraction Layer 206 -- 9.1.5 Data Layer 207 -- 9.2 Data Collection Matters 207 -- 9.3 Multi-Versioning 209 -- 9.4 Version Retirement 212 -- 9.4.1 Scale Back 214 -- 9.5 Client Upgrades 216 -- 9.6 Wrapping Up 220 -- CHAPTER 10 CONCLUSION 221 -- REFERENCES 225 -- INDEX 229.
Record Nr. UNINA-9910135028003321
Heckman Rocky  
Hoboken, New Jersey : , : John Wiley & Sons, Inc., , [2016]
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
Designing platform independent mobile apps and services / / Rocky Heckman
Designing platform independent mobile apps and services / / Rocky Heckman
Autore Heckman Rocky
Pubbl/distr/stampa Hoboken, New Jersey : , : John Wiley & Sons, Inc., , [2016]
Descrizione fisica 1 online resource (265 p.)
Disciplina 005.25
Soggetto topico Mobile computing
Cell phones - Programming
Mobile apps
ISBN 1-119-06015-X
1-119-06018-4
1-119-06040-0
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto -- LIST OF FIGURES xi -- LIST OF TABLES xiii -- PREFACE xv -- ACKNOWLEDGMENTS xvii -- CHAPTER 1 THE MOBILE LANDSCAPE 1 -- 1.1 Introduction 1 -- 1.2 Previous Attempts at Cross-Platform 2 -- 1.2.1 Java 2 -- 1.2.2 Early Web Apps 5 -- 1.2.3 Multiple Codebases 7 -- 1.3 Breadth Versus Depth 9 -- 1.4 The Multi-Platform Targets 10 -- 1.4.1 Traditional 10 -- 1.4.2 Mobile 11 -- 1.4.3 Wearables 12 -- 1.4.4 Embedded 13 -- CHAPTER 2 PLATFORM-INDEPENDENT DEVELOPMENT TECHNOLOGIES 15 -- The Golden Rule 15 -- 2.1 Vendor Lock-In 16 -- 2.2 Recommended Standards and Guidelines 18 -- 2.2.1 Respecting the Device 18 -- 2.2.2 Respecting the Network 19 -- 2.2.3 Communication Protocols 21 -- 2.2.4 Data Formats 31 -- 2.2.5 Mobile User Experience Guidelines 40 -- 2.2.6 Authentication 45 -- 2.2.7 Dealing with Offline and Partially Connected Devices 47 -- 2.3 Wrapping Up 63 -- CHAPTER 3 PLATFORM-INDEPENDENT DEVELOPMENT STRATEGY 64 -- 3.1 High-Level App Development Flow 64 -- 3.2 Five-Layer Architecture 65 -- 3.3 Five-Layer Architecture Detail 66 -- 3.3.1 The User Interface Layer 66 -- 3.3.2 The Service Interface Layer 68 -- 3.3.3 The Service Layer 69 -- 3.3.4 The Data Abstraction Layer 70 -- 3.3.5 The Data Layer 70 -- CHAPTER 4 THE USER INTERFACE LAYER 72 -- 4.1 Porting Versus Wrapping 72 -- 4.2 Multi-Client Development Tools 73 -- 4.2.1 PhoneGap (http://phonegap.com/) 73 -- 4.2.2 Xamarin (http://xamarin.com/) 74 -- 4.2.3 Unity (http://www.unity3d.com) 75 -- 4.2.4 Visual Studio 76 -- 4.3 Cross-Platform Languages 76 -- 4.4 Avoid Writing for the Least Common Denominator 77 -- 4.5 Wrapping Up 78 -- CHAPTER 5 THE SERVICE INTERFACE LAYER 79 -- 5.1 Message Processing 79 -- 5.1.1 Push versus Pull 80 -- 5.1.2 Partially Connected Scenarios 81 -- 5.2 Message Processing Patterns 82 -- 5.3 High-Volume Messaging Patterns 85 -- 5.3.1 Queue Services and Microsoft Azure Event Hubs 86 -- 5.3.2 Web Sockets 89.
5.4 High-Volume Push Notifications 91 -- 5.4.1 Third Party Notification Hubs 93 -- 5.5 Message Translation and Routing 97 -- 5.5.1 Message Translation 97 -- 5.5.2 Message Routing 103 -- 5.5.3 Handling Large Amounts of Data 108 -- 5.6 Wrapping Up 111 -- CHAPTER 6 THE SERVICE LAYER 114 -- 6.1 Thinking in Nodes 114 -- 6.1.1 Scale Out and Scale Up 114 -- 6.1.2 Scale Out versus Scale Up 114 -- 6.2 Planning for Horizontal Scaling 117 -- 6.2.1 Node Sizing 117 -- 6.2.2 Statelessness 120 -- 6.3 Designing Service Layers for Mobile Computing 121 -- 6.3.1 Service Componentization 122 -- 6.4 Implementation Abstraction 124 -- 6.4.1 Service Interface Abstraction 124 -- 6.5 Using CQRS/ES for Service Implementation 127 -- 6.5.1 CQRS Overview 127 -- 6.5.2 Why CQRS 129 -- 6.5.3 Being Able to Separate Data Models 129 -- 6.5.4 Aggregates and Bounded Contexts 131 -- 6.5.5 The Read and Write Sides 132 -- 6.5.6 CQRS Communications 132 -- 6.6 Side by Side Multi-Versioning 140 -- 6.7 Service Agility 141 -- 6.8 Consumer, Business, and Partner Services 141 -- 6.9 Portable and Modular Service Architectures 142 -- 6.9.1 Designing Pluggable Services 145 -- 6.9.2 Swapping Services 147 -- 6.9.3 Deployment and Hosting Strategies 151 -- 6.10 Wrapping up 152 -- CHAPTER 7 THE DATA ABSTRACTION LAYER 154 -- 7.1 Objects to Data 154 -- 7.2 Using the DAL with External Services 157 -- 7.3 Components of a DAL 159 -- 7.3.1 Data Mapper 160 -- 7.3.2 Query Mapper 161 -- 7.3.3 Repository 166 -- 7.3.4 Serializers 168 -- 7.3.5 Storage Consideration 169 -- 7.3.6 Cache 172 -- 7.4 Wrapping Up 174 -- CHAPTER 8 THE DATA LAYER 176 -- 8.1 Overview 177 -- 8.2 Business Rules in the Data Layer 178 -- 8.3 Relational Databases 178 -- 8.4 NoSQL Databases 181 -- 8.4.1 Key Value Database 183 -- 8.4.2 Document Database 186 -- 8.4.3 Column Family Databases 189 -- 8.4.4 Graph Database 194 -- 8.4.5 How to Choose? 197 -- 8.5 File Storage 197 -- 8.6 Blended Approach 200 -- 8.6.1 The Polyglot Data Layer 201 -- 8.7 Wrapping up 203 -- CHAPTER 9 STRATEGIES FOR ONGOING IMPROVEMENT 204.
9.1 Feature Expansion 204 -- 9.1.1 User Interface 206 -- 9.1.2 Service Interface Layer 206 -- 9.1.3 Service Layer 206 -- 9.1.4 Data Abstraction Layer 206 -- 9.1.5 Data Layer 207 -- 9.2 Data Collection Matters 207 -- 9.3 Multi-Versioning 209 -- 9.4 Version Retirement 212 -- 9.4.1 Scale Back 214 -- 9.5 Client Upgrades 216 -- 9.6 Wrapping Up 220 -- CHAPTER 10 CONCLUSION 221 -- REFERENCES 225 -- INDEX 229.
Record Nr. UNINA-9910830019903321
Heckman Rocky  
Hoboken, New Jersey : , : John Wiley & Sons, Inc., , [2016]
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui