2013-07-18 4 views
0

을위한 프레임 워크 질문 및 의견 : 연락처/고객과 기업과의 관계를 관리하는 간단한 크로스 플랫폼 CRM 응용 프로그램을 만들 수 있습니다. 현재의 상태에서 저는 (약간의 초기 동기 부여 성공 이후) 이것을 접근하는 방법을 상당히 혼란스럽게 생각합니다.폰갭 개발의 장애물 : 나는 비교적 쉽게 목표를 달성하기 위해 노력하고있어 작은 CRM

후 좀 더 심각하고 언급 CRM 응용 프로그램이 될 것 실제 응용 프로그램 프로젝트에서 시작하고 싶어 내 벨트 아래 목표 - C와 아이폰 OS 개발의 반년. 그럼 PhoneGap에 대해 들었고, 그것을 밖으로 시도하고 매우 감동했습니다. 거기에서 내 앱이 크로스 플랫폼이어야한다는 것이 분명했다. 5 개 또는 6 단체 총

  • 간단한 데이터 모델 :

    내가 달성하기 위해 노력하고있어 더 나은 이해를 위해, 여기에 "요구 사항"에 대한 몇 가지 세부 정보입니다. 일대 다 및 다 대다 관계.
  • 등 신속하게 회사, 클라이언트 사이를 전환 할 수있는 탭 바 위젯을 가지고
  • 입력과 동시에 검색의 ListView에
  • 헤더 다시의 ListView
  • 버튼에 대한 마스터 - 상세보기 행동, "추가/수정"버튼도 있습니다. 고전적인 앱 레이아웃.

나의 첫 번째 단계는 첫 눈에, 신속하게 요구 사항에 맞는 내 손에서 코딩을 많이 떨어져 걸리는 UI를 구축 할 수있는 완벽한 후보처럼 보였다는 UI에 대한 JQuery와 모바일에 저를지도한다. 내가 만든 모형은 모든 장치에서 훌륭하게 작동했지만 마스터 : 세부보기 탐색/라우팅이라는로드 블록을 쳤습니다. 나는 그것이 어떻게 작동해야하는지 아무 단서도없고 JQuery Mobile 문서는 그에 대한 답이나 모범 사례를 제공하지 않습니다. 난 그냥 쿼리 문자열에 "ID"를 전달하고 세부 정보보기에서 읽을 수 있을지도 모른다는 것을 알아 냈습니다. 즉 어느 정도 작동했지만 페이지 (detailsview.html? ID = 3)뿐 아니라 내부 일을 외부 파일 인 경우에만 (#detailsview? ID = 3). 그리고 그때조차도 페이지 쇼 이벤트에서 쿼리 스트링의 값을 읽을 때 이상한 행동을 경험했습니다. 어쨌든,이 모든 논리와 디자인으로 조작하면 MVC와 같은 더 나은 체계적인 접근 방식이 있어야한다는 단서가되었습니다. 그리고 명백하게 딥 링크 (deep-linking)와 함께 제공되는 backbone.js와 Angular.js (그리고 ember.js 등)가 있습니다. 일부 인터넷 검색은 Angular.js가 2-way 데이터 바인딩과 함께 제공되고 더 적은 코드를 작성하기 때문에 나에게 더 적합 할 것이라고 말했고, 항상 감사하게 생각합니다.

는하지만 JQuery와 모바일이 있기 때문에 그것이 자신의 라우팅 기능의 JQuery와 모바일 및 Angular.js 간의 기능 중복의 문제가있다. 내가 추측하는 부분을 비활성화 할 수는 있지만 프로세스에서 페이지 전환을 잃을 수도 있습니다 (index.html의 "페이지"가 ​​더 이상 없음)? UI의 대안으로 톱 코트를 찾았지만, 현재 필요한 탭바 위젯이 많이 부족합니다. 트위터 부트 스트랩처럼 부족한 것 같습니다.

내가 아직 영구 저장소를 손도 안! PhoneGap API는 스토리지 기능을 제공하지만 Hibernate, Entity Framework 및 Core Data와 같은 훌륭한 ORM 구현으로 몇 년 후 순수 SQL보다 더 자연 스럽다. 반면에 프로젝트의 범위가 다소 제한적이므로 순수한 SQL을 수행 할 수 있습니다. 그래서 나는 JayData를 보았지만 아직 시도하지는 않았다. Angular.js는 JSON 형식의 데이터 입력을 선호하기 때문에 Lawnchair.js가 좋은 아이디어일까요? 나는 그것을 살펴 봤지만 전통적인 방식으로 관계 및/또는 객체를 참조하는 방법을 빨리 찾을 수 없었습니다. 저의 학습 곡선은 제쳐두고, 잔디 깍기입니다. 관계형 데이터를 저장하는 좋은 방법은 무엇입니까? 또는 서버 관점에서 CouchDB? 대부분의 예제는 비 관련 데이터 만 저장하거나 다른 객체를 참조하지 않는 배열을 포함하고 있습니다.나는 그 배열에 객체 식별자를 저장하는 것이 필요하다고 생각하지만 자동 생성, 자동 증가 및 고유 식별자 확인 방법은 무엇입니까?

나는 당신의 생각, 의견 및 이것에 대한 약간의 안내에 크게 감사드립니다!

고맙습니다.

+0

프로그래머에게 적합하지 않습니까? 스택 교환? – DuncanACoulter

+0

당신은 정말로 질문을하지 않았고 단지 많은 생각을했습니다. 특정 질문을 추출 할 수 있다면 훨씬 더 나은 결과를 얻을 수 있습니다. – rooftop

+0

감사합니다! 저는 프로그래머를 들여다 보았습니다. 스택 교환 (stackexchange)은 이런 유형의 사고 결과물에 더 적합한 장소 인 것처럼 보입니다. 나는 앞으로의 질문에서 더 구체적 일 것이고 지난 몇 주간은 내 자신의 질문에 답을 할 것이다. 어쩌면 오는 다른 누군가를 도울 것입니다. – pwntr

답변

0

지난 몇 주 동안 나는 스토리지 및 UI 솔루션을 가지고 놀았으며, 내가 정착 한 것들은 lawnchair.js, JQuery Mobile 및 템플리트 용 Handlebars.js와 같은 것들입니다. 그것들은 사용하기가 매우 쉽고 내가 필요로하는 것입니다.

내 JSONs을 저장하려면이 같은 Lawnchairs을 만들어 :

Lawnchair의 JSON 기반 스토리지는 하나의 라인으로 자바 스크립트 코드에 직접 데이터를 저장하는 것이 간단하고 직관적 :

clients.save({firstName: "Jason", lastName: "Bourne", ...}); 

이렇게하면 나중에 개체에 액세스 할 수있는 고유 한 키가 자동으로 완전히 만들어집니다. 어디에도 언급되지 않은 큰 보너스! 당신은 자신 만의 키를 만들고 정의 할 수 있지만, 제 목적을 위해 자동 생성 된 키는 완벽합니다.

, 당신은 쿼리 문자열에 키를 추가 할 수 있습니다, "회사"와 같은, 다른 Lawnchairs와 realtionships를 만들 detailspage에 그것을 읽고, 같은 당신이 원하는 회사의 속성에 키를 추가하려면 :

myJSONclient = clients.get(SuperLongAutoGeneratedKeyReadFromAueryString); 

// Probably do some stuff with the object 

// Add the key to the current company object 
currentCompany.bestCustomer = myJSONclient.key; 

// save it 
companies.save(currentCompany); 

그게 전부입니다 :)!

관련 문제